summaryrefslogtreecommitdiffstats
path: root/src/style-test.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/style-test.h')
-rw-r--r--src/style-test.h83
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) );
}