TestCoverage/8-Paths

From SVG

This page is an archive of the previous Group's wiki from http://www.w3.org/Graphics/SVG/Group/wiki.


Test Coverage for SVG Tiny 1.2 Chapter 8: Paths

http://www.w3.org/Graphics/SVG/Group/repository/spec/mobile/1.2/1.2NG/master/paths.html

Legend:

 - is a comment or note
  is an assertion or feature that is fully covered in the test suite
 # is an assertion or feature that is partially or not covered in the test suite

8.1 Introduction

- nothing to test here

8.2 The 'path' element

# Need to test if empty attribute disables rendering, if attribute is not specified it is treated as if an empty string was specified; need to test alternative path representations (comma separator,blank separator,separator with path commands,multiple decimal points,minus sign as a separator, etc.)

8.2.1 Animating path data

# should work for the same list of path data commands in the d attribute for the various animation stages.


 animate-elem-44-t.svg
 - test covers: animation of the d attribute, linear interpolation.


# Test a case where list of paths commands isn't the same as unsupported


# animate-elem-43-t.svg
 - test still empty.
 - Should this test discrete animation of the "d" attribute in cases where the paths commands in the animation stages aren't of the same type?

8.3 Path data

8.3.1 General information about path data

# Test various different notations (extra whitespace, now whitespaces, comma, implicit command repetition, etc).

8.3.2 The "moveto" commands

 paths-data-04-t.svg
 - test covers: testing M,L,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-05-t.svg
 - test covers: testing m,l,z commands (relative coordinates); vertices are marked with rectangles.


 paths-data-08-t.svg
 - test covers: testing shorthand notation where coordinates following M default to L commands; using m,z commands (absolute coordinates); vertices are marked with rectangles.

8.3.3 The "closepath" command

 paths-data-04-t.svg
 - test covers: testing M,L,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-05-t.svg
 - test covers: testing m,l,z commands (relative coordinates); vertices are marked with rectangles.


 paths-data-08-t.svg
 - test covers: testing shorthand notation where coordinates following M default to L commands; using M,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-10-t.svg
 - test covers: testing whether the path is properly closed; visualized by various stroke-linejoin and stroke-linecap attributes; using M,m,L,l,Z,z commands.


 paths-data-14-t.svg
 - test covers: testing values for moveto plus multiple implicit lineto commands; a relative 'm' command at the beginning of a path should be treated as an absolute 'M' command; using M,m,Z,z commands.

8.3.4 The "lineto" commands

 paths-data-04-t.svg
 - test covers: testing M,L,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-05-t.svg
 - test covers: testing m,l,z commands (relative coordinates); vertices are marked with rectangles.


 paths-data-06-t.svg
 - test covers: testing M,H,V,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-07-t.svg
 - test covers: testing m,h,v,z commands (relative coordinates); vertices are marked with rectangles.


 paths-data-08-t.svg
 - test covers: testing shorthand notation where coordinates following M default to L commands; using M,Z commands (absolute coordinates); vertices are marked with rectangles.


 paths-data-09-t.svg
 - test covers: testing shorthand notation where coordinates following m default to l commands; using m,z commands (relative coordinates); vertices are marked with rectangles.


 paths-data-13-t.svg
 - test covers: testing multiple occurences of V and H commands; using M,V,H commands.


 paths-data-14-t.svg
 - test covers: testing values for moveto plus multiple implicit lineto commands; a relative 'm' command at the beginning of a path should be treated as an absolute 'M' command; using M,m,Z,z commands.

8.3.5 The Curve commands

- see subtests for cubic and quadratic Bézier curves.

8.3.6 The Cubic Bézier curve commands

 paths-data-01-t.svg
 - test covers: various forms of cubic bézier curves; testing C,c,S,s,M,m,Zz commands; control points and vertices are marked with rectangles.


 paths-data-12-t.svg
 - test covers: testing M,C,S commands; control points and vertices are marked with rectangles.

8.3.7 The Quadratic Bézier curve commands

 paths-data-02-t.svg
 - test covers: various forms of quadratic bézier curves; testing Q,q,T,t,M,m,Zz commands; control points and vertices are marked with rectangles.


 paths-data-15-t.svg
 - test covers: quadratic bézier curves; using M,Q,T commands; testing multiple occurences of implicit T commands after the Q command and T with not preceding Q; control points and vertices are marked with rectangles.

8.3.8 The grammar for path data

- this is tested by the tests listed above

8.4 Distance along a path

# paths-dist-01-t.svg
 - test support of the pathLength attribute; need to test invalid negative value; visualize tests with stroking/stroke-dashing
 - this test exists but is still empty, need to add content