summaryrefslogtreecommitdiffstats
path: root/dom/svg/test/test_pathSeg.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'dom/svg/test/test_pathSeg.xhtml')
-rw-r--r--dom/svg/test/test_pathSeg.xhtml142
1 files changed, 142 insertions, 0 deletions
diff --git a/dom/svg/test/test_pathSeg.xhtml b/dom/svg/test/test_pathSeg.xhtml
new file mode 100644
index 000000000..698d078f4
--- /dev/null
+++ b/dom/svg/test/test_pathSeg.xhtml
@@ -0,0 +1,142 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=459953
+-->
+<head>
+ <title>Test for Bug 459953</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=459953">Mozilla Bug 459953</a>
+<p id="display"></p>
+
+<pre id="test">
+<script class="testbody" type="application/javascript">
+<![CDATA[
+SimpleTest.waitForExplicitFinish();
+
+function runTest()
+{
+ var svgns="http://www.w3.org/2000/svg";
+
+ var path1=document.createElementNS(svgns, "path");
+
+ var sseg;
+
+ var a=10,s=20,d=30,z=9; //Arbitrary numbers for arguments
+
+ var whatever=true; //This is often so, but here it does not matter
+
+ sseg=path1.createSVGPathSegMovetoAbs(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegMovetoRel(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoAbs(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoRel(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoVerticalAbs(a);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoVerticalRel(a);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoHorizontalAbs(a);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegLinetoHorizontalRel(a);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoCubicAbs(a, s, d, z, a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoCubicRel(a, s, d, z, a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoCubicSmoothAbs(a, s, d, z);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoCubicSmoothRel(a, s, d, z);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoQuadraticAbs(a, s, d, z);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoQuadraticRel(a, s, d, z);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoQuadraticSmoothAbs(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegCurvetoQuadraticSmoothRel(a, s);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegArcAbs(a, s, d, z, a, whatever, whatever);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegArcRel(a, s, d, z, a, whatever, whatever);
+ path1.pathSegList.appendItem(sseg);
+ sseg=path1.createSVGPathSegClosePath();
+ path1.pathSegList.appendItem(sseg);
+
+ for(var i=0;i<path1.pathSegList.numberOfItems;i++){
+ var seg=path1.pathSegList.getItem(i);
+ switch(seg.pathSegType){
+ case seg.PATHSEG_MOVETO_ABS:
+ is(seg.pathSegTypeAsLetter, "M", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_MOVETO_REL:
+ is(seg.pathSegTypeAsLetter, "m", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CLOSEPATH:
+ is(seg.pathSegTypeAsLetter, "z", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_ABS:
+ is(seg.pathSegTypeAsLetter, "L", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_REL:
+ is(seg.pathSegTypeAsLetter, "l", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_VERTICAL_ABS:
+ is(seg.pathSegTypeAsLetter, "V", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_VERTICAL_REL:
+ is(seg.pathSegTypeAsLetter, "v", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_HORIZONTAL_ABS:
+ is(seg.pathSegTypeAsLetter, "H", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_LINETO_HORIZONTAL_REL:
+ is(seg.pathSegTypeAsLetter, "h", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_CUBIC_ABS:
+ is(seg.pathSegTypeAsLetter, "C", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_CUBIC_REL:
+ is(seg.pathSegTypeAsLetter, "c", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
+ is(seg.pathSegTypeAsLetter, "S", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
+ is(seg.pathSegTypeAsLetter, "s", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_QUADRATIC_ABS:
+ is(seg.pathSegTypeAsLetter, "Q", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_QUADRATIC_REL:
+ is(seg.pathSegTypeAsLetter, "q", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
+ is(seg.pathSegTypeAsLetter, "T", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
+ is(seg.pathSegTypeAsLetter, "t", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_ARC_ABS:
+ is(seg.pathSegTypeAsLetter, "A", "wrong path segment letter");
+ break;
+ case seg.PATHSEG_ARC_REL:
+ is(seg.pathSegTypeAsLetter, "a", "wrong path segment letter");
+ break;
+
+ }
+ }
+ SimpleTest.finish();
+}
+
+window.addEventListener("load", runTest, false);
+]]>
+</script>
+</pre>
+</body>
+</html>