diff options
Diffstat (limited to 'tests/auto/quick/qquickcanvasitem')
-rw-r--r-- | tests/auto/quick/qquickcanvasitem/data/tst_context.qml | 77 |
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); } } |