aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickcanvasitem
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickcanvasitem')
-rw-r--r--tests/auto/quick/qquickcanvasitem/data/tst_context.qml77
1 files changed, 49 insertions, 28 deletions
diff --git a/tests/auto/quick/qquickcanvasitem/data/tst_context.qml b/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
index ab351f0de8..b18250291e 100644
--- a/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
+++ b/tests/auto/quick/qquickcanvasitem/data/tst_context.qml
@@ -111,6 +111,14 @@ Canvas {
{ string: "bold 12px sans-serif", expected: "sans-serif,-1,12,5,75,0,0,0,0,0" },
{ string: "0 12px sans-serif", expected: "sans-serif,-1,12,5,0,0,0,0,0,0" },
{ string: "small-caps 12px sans-serif", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: "12px \"sans-serif\"", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: "12px 'sans-serif'", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ // sans-serif will always be chosen, but this still tests that multiple families can be read.
+ { string: "12px 'sans-serif' 'cursive'", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: "12px sans-serif 'cursive' monospace", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: "12px sans-serif 'cursive' monospace ", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: " 12px sans-serif 'cursive' monospace ", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" },
+ { string: " 12px sans-serif 'cursive' monospace ", expected: "sans-serif,-1,12,5,50,0,0,0,0,0" }
];
for (var i = 0; i < validFonts.length; ++i) {
ctx.font = validFonts[i].string;
@@ -125,38 +133,51 @@ Canvas {
var ctx = canvas.getContext("2d");
var originalFont = ctx.font;
- var i = 0;
- var insufficientQtyTokens = ["", "12px", "sans-serif"];
- for (i = 0; i < insufficientQtyTokens.length; ++i) {
- ignoreWarning("Context2D: Insufficent amount of tokens in font string.");
- ctx.font = insufficientQtyTokens[i];
- compare(ctx.font, originalFont);
- }
+ var fontStrings = [
+ "",
+ "12px",
+ "sans-serif",
+ "z12px sans-serif",
+ "1z2px sans-serif",
+ "12zpx sans-serif",
+ "12pxz sans-serif",
+ "sans-serif 12px",
+ "12px !@weeeeeeee!@!@Don'tNameYourFontThis",
+ "12px )(&*^^^%#$@*!!@#$JSPOR)",
+ "normal normal normal normal 12px sans-serif",
+ "normal normal bold bold 12px sans-serif",
+ "bold bold 12px sans-serif",
+ "12px 'cursive\"",
+ "12px 'cursive\" sans-serif",
+ "12px 'cursive"
+ ];
- var invalidFontSizes = ["z12px sans-serif", "1z2px sans-serif", "12zpx sans-serif",
- "12pzx sans-serif", "12pxz sans-serif", "sans-serif 12px"];
- for (i = 0; i < invalidFontSizes.length; ++i) {
- ignoreWarning("Context2D: A font size of \"" + invalidFontSizes[i].split(" ")[0] + "\" is invalid.");
- ctx.font = invalidFontSizes[i];
- compare(ctx.font, originalFont);
- }
+ var ignoredWarnings = [
+ "Context2D: Font string is empty.",
+ "Context2D: Missing or misplaced font family in font string (it must come after the font size).",
+ "Context2D: Invalid font size unit in font string.",
+ "Context2D: A font size of \"z12\" is invalid.",
+ "Context2D: A font size of \"1z2\" is invalid.",
+ "Context2D: A font size of \"12z\" is invalid.",
+ "Context2D: Invalid font size unit in font string.",
+ "Context2D: Missing or misplaced font family in font string (it must come after the font size).",
+ "Context2D: Unclosed quote in font string.",
+ "Context2D: The font families specified are invalid: )(&*^^^%#$@*!!@#$JSPOR)",
+ "Context2D: Duplicate token \"normal\" found in font string.",
+ "Context2D: Duplicate token \"bold\" found in font string.",
+ "Context2D: Duplicate token \"bold\" found in font string.",
+ "Context2D: Mismatched quote in font string.",
+ "Context2D: Mismatched quote in font string.",
+ "Context2D: Unclosed quote in font string."
+ ];
- var invalidFontFamilies = ["12px !@weeeeeeee!@!@Don'tNameYourFontThis", "12px )(&*^^^%#$@*!!@#$JSPOR)"];
- for (i = 0; i < invalidFontFamilies.length; ++i) {
- ignoreWarning("Context2D: The font family \"" + invalidFontFamilies[i].split(" ")[1] + "\" is invalid.");
- ctx.font = invalidFontFamilies[i];
- compare(ctx.font, originalFont);
- }
+ // Sanity check...
+ compare(ignoredWarnings.length, fontStrings.length);
- var duplicates = [
- { duplicate: "normal", string: "normal normal normal normal 12px sans-serif" },
- { duplicate: "bold", string: "normal normal bold bold 12px sans-serif" },
- { duplicate: "bold", string: "bold bold 12px sans-serif" }
- ];
- for (i = 0; i < duplicates.length; ++i) {
- ignoreWarning("Context2D: Duplicate token \"" + duplicates[i].duplicate + "\" found in font string.");
- ctx.font = duplicates[i].string;
+ for (var i = 0; i < fontStrings.length; ++i) {
+ ignoreWarning(ignoredWarnings[i]);
+ ctx.font = fontStrings[i];
compare(ctx.font, originalFont);
}
}