diff options
Diffstat (limited to 'src/style-test.h')
| -rw-r--r-- | src/style-test.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/style-test.h b/src/style-test.h index 064773d1d..c88c1c30a 100644 --- a/src/style-test.h +++ b/src/style-test.h @@ -86,6 +86,87 @@ public: // TestCase("fill:url(#painter) inherit", 0, "#painter"), TestCase("fill:inherit"), + +// General tests (in general order of appearance in sp_style_read), SPIPaint tested above + TestCase("visibility:hidden"), // SPIEnum + TestCase("visibility:collapse"), + TestCase("visibility:visible"), + TestCase("display:none"), // SPIEnum + TestCase("overflow:visible"), // SPIEnum + TestCase("overflow:auto"), // SPIEnum + + // Not directly read + TestCase("font:bold 12px Arial", + "font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-family:Arial"), + // line-height not read in + //TestCase("font:bold 12px/24px 'Times New Roman'", + // "font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;line-height:24px;font-family:Times New Roman"), + TestCase("font-family:sans-serif"), // SPIString, text_private + TestCase("font-family:Arial"), + TestCase("font-variant:normal;font-stretch:normal;-inkscape-font-specification:Nimbus Roman No9 L Bold Italic"), + // Needs to be fixed (quotes should be around each font-family): + TestCase("font-family:Georgia, 'Minion Web'","font-family:'Georgia, \"Minion Web\"'"), + TestCase("font-size:12", "font-size:12px"), // SPIFontSize + TestCase("font-size:12px"), + TestCase("font-size:12pt", "font-size:15px"), + TestCase("font-size:medium"), + TestCase("font-size:smaller"), + TestCase("font-style:italic"), // SPIEnum + TestCase("font-variant:small-caps"), // SPIEnum + TestCase("font-weight:100"), // SPIEnum + TestCase("font-weight:normal"), + TestCase("font-weight:bolder"), + TestCase("font-stretch:condensed"), // SPIEnum + + // Should be moved down + TestCase("text-indent:12em"), // SPILength? + TestCase("text-align:center"), // SPIEnum + TestCase("text-decoration: underline"), // SPITextDecoration + TestCase("text-decoration: underline wavy #0000ff"), // SPITextDecoration CSS3 + TestCase("text-decoration: overline double #ff0000"), + + // Should be moved up + TestCase("line-height:24px"), // SPILengthOrNormal + TestCase("line-height:1.5"), + TestCase("letter-spacing:2px"), // SPILengthOrNormal + TestCase("word-spacing:2px"), // SPILengthOrNormal + TestCase("word-spacing:normal"), + TestCase("text-transform:lowercase"), // SPIEnum + // ... + TestCase("baseline-shift:baseline"), // SPIBaselineShift + TestCase("baseline-shift:sub"), + TestCase("baseline-shift:12.5%"), + TestCase("baseline-shift:2px"), + + TestCase("opacity:0.1"), // SPIScale24 + // ... + TestCase("stroke-width:2px"), // SPILength + TestCase("stroke-linecap:round"), // SPIEnum + TestCase("stroke-linejoin:round"), // SPIEnum + TestCase("stroke-miterlimit:4"), // SPIFloat + TestCase("marker:url(#Arrow)"), // SPIString + TestCase("marker-start:url(#Arrow)"), + TestCase("marker-mid:url(#Arrow)"), + TestCase("marker-end:url(#Arrow)"), + TestCase("stroke-opacity:0.5"), // SPIScale24 + TestCase("stroke-dasharray:0, 1, 0, 1"), // SPIDashArray + TestCase("stroke-dasharray:0 1 0 1","stroke-dasharray:0, 1, 0, 1"), + TestCase("stroke-dasharray:0 1 2 3","stroke-dasharray:0, 1, 2, 3"), + TestCase("stroke-dashoffset:13"), // SPILength + TestCase("stroke-dashoffset:10px"), + // ... + //TestCase("filter:url(#myfilter)"), // SPIFilter segfault in read + TestCase("filter:inherit"), + + TestCase("opacity:0.1;fill:#ff0000;stroke:#0000ff;stroke-width:2px"), + TestCase("opacity:0.1;fill:#ff0000;stroke:#0000ff;stroke-width:2px;stroke-dasharray:1, 2, 3, 4;stroke-dashoffset:15"), + + +#ifdef WITH_SVG2 + TestCase("paint-order:stroke"), // SPIPaintOrder + TestCase("paint-order:normal"), + TestCase("paint-order: markers stroke fill", "paint-order:markers stroke fill"), +#endif TestCase(0) }; @@ -107,8 +188,10 @@ public: gchar *str0_set = sp_style_write_string( style, SP_STYLE_FLAG_IFSET ); //printf("<<%s>>\n", str0_set); if ( cases[i].dst ) { + //std::cout << " " << std::string(str0_set) << " " << std::string(cases[i].dst) << std::endl; TS_ASSERT_EQUALS( std::string(str0_set), std::string(cases[i].dst) ); } else { + //std::cout << " " << std::string(str0_set) << " " << std::string(cases[i].src) << std::endl; TS_ASSERT_EQUALS( std::string(str0_set), std::string(cases[i].src) ); } |
