123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <!doctype html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=745685
- -->
- <title>Test for Bug 745685</title>
- <script src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=745685">Mozilla Bug 745685</a>
- <font>Test text</font>
- <font size=1>1</font>
- <font size=2>2</font>
- <font size=3>3</font>
- <font size=4>4</font>
- <font size=5>5</font>
- <font size=6>6</font>
- <font size=7>7</font>
- <script>
- /** Test for Bug 745685 **/
- var referenceSizes = {};
- for (var i = 1; i <= 7; i++) {
- referenceSizes[i] =
- getComputedStyle(document.querySelector('[size="' + i + '"]'))
- .fontSize;
- if (i > 1) {
- isnot(referenceSizes[i], referenceSizes[i - 1],
- "Sanity check: different <font size>s give different .fontSize");
- }
- }
- function testFontSize(input, expected) {
- var font = document.querySelector("font");
- font.setAttribute("size", input);
- is(font.getAttribute("size"), input,
- "Setting doesn't round-trip (.getAttribute)");
- is(font.size, input,
- "Setting doesn't round-trip (.size)");
- is(getComputedStyle(font).fontSize, referenceSizes[expected],
- 'Incorrect size for "' + input + '" : expected the same as ' + expected);
- }
- function testFontSizes(input, expected) {
- testFontSize(input, expected);
- // Leading whitespace
- testFontSize(" " + input, expected);
- testFontSize("\t" + input, expected);
- testFontSize("\n" + input, expected);
- testFontSize("\f" + input, expected);
- testFontSize("\r" + input, expected);
- // Trailing garbage
- testFontSize(input + "abcd", expected);
- testFontSize(input + ".5", expected);
- testFontSize(input + "e2", expected);
- }
- // Parse error
- testFontSizes("", 3);
- // No sign
- testFontSizes("0", 1);
- testFontSizes("1", 1);
- testFontSizes("2", 2);
- testFontSizes("3", 3);
- testFontSizes("4", 4);
- testFontSizes("5", 5);
- testFontSizes("6", 6);
- testFontSizes("7", 7);
- testFontSizes("8", 7);
- testFontSizes("9", 7);
- testFontSizes("10", 7);
- testFontSizes("10000000000000000000000", 7);
- // Minus sign
- testFontSizes("-0", 3);
- testFontSizes("-1", 2);
- testFontSizes("-2", 1);
- testFontSizes("-3", 1);
- testFontSizes("-4", 1);
- testFontSizes("-5", 1);
- testFontSizes("-6", 1);
- testFontSizes("-7", 1);
- testFontSizes("-8", 1);
- testFontSizes("-9", 1);
- testFontSizes("-10", 1);
- testFontSizes("-10000000000000000000000", 1);
- // Plus sign
- testFontSizes("+0", 3);
- testFontSizes("+1", 4);
- testFontSizes("+2", 5);
- testFontSizes("+3", 6);
- testFontSizes("+4", 7);
- testFontSizes("+5", 7);
- testFontSizes("+6", 7);
- testFontSizes("+7", 7);
- testFontSizes("+8", 7);
- testFontSizes("+9", 7);
- testFontSizes("+10", 7);
- testFontSizes("+10000000000000000000000", 7);
- // Non-HTML5 whitespace
- testFontSize("\b1", 3);
- testFontSize("\v1", 3);
- testFontSize("\0u00a01", 3);
- </script>
|