TestCoverage/8-Paths
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