This is a test of the SVGPathSegList::appendItem() API. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Check initial 'pathSegList' value of path1 PASS path1.pathSegList.numberOfItems is 3 PASS path1.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]" PASS path1.pathSegList.getItem(0).x is 0 PASS path1.pathSegList.getItem(0).y is 0 PASS path1.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]" PASS path1.pathSegList.getItem(1).x is 100 PASS path1.pathSegList.getItem(1).y is 0 PASS path1.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoAbs]" PASS path1.pathSegList.getItem(2).x is 100 PASS path1.pathSegList.getItem(2).y is 100 Check initial 'pathSegList' value of path2 PASS path2.pathSegList.numberOfItems is 5 PASS path2.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]" PASS path2.pathSegList.getItem(0).x is 0 PASS path2.pathSegList.getItem(0).y is 0 PASS path2.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]" PASS path2.pathSegList.getItem(1).x is 50 PASS path2.pathSegList.getItem(1).y is 100 PASS path2.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoHorizontalRel]" PASS path2.pathSegList.getItem(2).x is 100 PASS path2.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoHorizontalRel]" PASS path2.pathSegList.getItem(3).x is 100 PASS path2.pathSegList.getItem(4).toString() is "[object SVGPathSegLinetoVerticalRel]" PASS path2.pathSegList.getItem(4).y is 100 Negate x value of fourth segment in path2 PASS path2.pathSegList.getItem(3).x = -path2.pathSegList.getItem(3).x is -100 Swap segment four and five of path2 - now should look like a rectangle PASS path2.pathSegList.appendItem(path2.pathSegList.getItem(3)).toString() is "[object SVGPathSegLinetoHorizontalRel]" Append second item from path2 to path1 list PASS path1.pathSegList.appendItem(path2.pathSegList.getItem(1)).toString() is "[object SVGPathSegLinetoAbs]" Change last item of path1 list, that came from path2 list, assure it's updating path1 PASS path1.pathSegList.getItem(3).x -= 50 is 0 Check final 'pathSegList' value of path1 PASS path1.pathSegList.numberOfItems is 4 PASS path1.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]" PASS path1.pathSegList.getItem(0).x is 0 PASS path1.pathSegList.getItem(0).y is 0 PASS path1.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoAbs]" PASS path1.pathSegList.getItem(1).x is 100 PASS path1.pathSegList.getItem(1).y is 0 PASS path1.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoAbs]" PASS path1.pathSegList.getItem(2).x is 100 PASS path1.pathSegList.getItem(2).y is 100 PASS path1.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoAbs]" PASS path1.pathSegList.getItem(3).x is 0 PASS path1.pathSegList.getItem(3).y is 100 Check final 'pathSegList' value of path2 PASS path2.pathSegList.numberOfItems is 4 PASS path2.pathSegList.getItem(0).toString() is "[object SVGPathSegMovetoAbs]" PASS path2.pathSegList.getItem(0).x is 0 PASS path2.pathSegList.getItem(0).y is 0 PASS path2.pathSegList.getItem(1).toString() is "[object SVGPathSegLinetoHorizontalRel]" PASS path2.pathSegList.getItem(1).x is 100 PASS path2.pathSegList.getItem(2).toString() is "[object SVGPathSegLinetoVerticalRel]" PASS path2.pathSegList.getItem(2).y is 100 PASS path2.pathSegList.getItem(3).toString() is "[object SVGPathSegLinetoHorizontalRel]" PASS path2.pathSegList.getItem(3).x is -100 PASS successfullyParsed is true TEST COMPLETE