1eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockdescription("HTMLFontElement size attribute test");
2eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
3eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockfunction fontSizeAttributeEffect(value)
4eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block{
5eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var element = document.createElement("font");
6eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    element.setAttribute("size", value);
7eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var outerElement = document.createElement("p");
8eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    outerElement.setAttribute("style", "font-size: 100px");
9eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    document.body.appendChild(outerElement);
10eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    outerElement.appendChild(element);
11eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var computedStyle = getComputedStyle(element, "");
12eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var result = computedStyle.fontSize;
13eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    document.body.removeChild(outerElement);
14eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    return result === "100px" ? null : result;
15eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block}
16eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
17eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("")', 'null');
18eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
19eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("1")', '"10px"');
20eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("2")', '"13px"');
21eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("3")', '"16px"');
22eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("4")', '"18px"');
23eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("5")', '"24px"');
24eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("6")', '"32px"');
25eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("7")', '"48px"');
26eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
2768513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("0")', '"10px"');
28eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
29eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-1")', '"13px"');
30eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-2")', '"10px"');
31eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-3")', '"10px"');
32eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-4")', '"10px"');
33eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-5")', '"10px"');
34eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-6")', '"10px"');
35eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-7")', '"10px"');
36eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-8")', '"10px"');
37eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-9")', '"10px"');
38eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("-10")', '"10px"');
39eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
4068513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("x6")', 'null');
4168513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect(" 6")', '"32px"');
4268513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\t6")', '"32px"');
4368513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\r6")', '"32px"');
4468513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\n6")', '"32px"');
4568513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\u20086")', 'null');
4668513a70bcd92384395513322f1b801e7bf9c729Steve Block
4768513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("x-6")', 'null');
4868513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect(" -6")', '"10px"');
4968513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\t-6")', '"10px"');
5068513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\r-6")', '"10px"');
5168513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\n-6")', '"10px"');
5268513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\u2008-6")', 'null');
5368513a70bcd92384395513322f1b801e7bf9c729Steve Block
5468513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("x+6")', 'null');
5568513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect(" +6")', '"48px"');
5668513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\t+6")', '"48px"');
5768513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\r+6")', '"48px"');
5868513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\n+6")', '"48px"');
5968513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\u2008+6")', 'null');
6068513a70bcd92384395513322f1b801e7bf9c729Steve Block
6168513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("x+x6")', 'null');
6268513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect(" + 6")', 'null');
6368513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\t+\\t6")', 'null');
6468513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\r+\\r6")', 'null');
6568513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\n+\\n6")', 'null');
6668513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\u2008+\\u20086")', 'null');
6768513a70bcd92384395513322f1b801e7bf9c729Steve Block
6868513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("x-x6")', 'null');
6968513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect(" - 6")', 'null');
7068513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\t-\\t6")', 'null');
7168513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\r-\\r6")', 'null');
7268513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\n-\\n6")', 'null');
7368513a70bcd92384395513322f1b801e7bf9c729Steve BlockshouldBe('fontSizeAttributeEffect("\\u2008-\\u20086")', 'null');
7468513a70bcd92384395513322f1b801e7bf9c729Steve Block
75eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("8")', '"48px"');
76eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("9")', '"48px"');
77eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("10")', '"48px"');
78eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("100")', '"48px"');
79eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("1000")', '"48px"');
80eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
81eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("1x")', '"10px"');
82eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("1.")', '"10px"');
83eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("1.9")', '"10px"');
84eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("2x")', '"13px"');
85eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("2.")', '"13px"');
86eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("2.9")', '"13px"');
87eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
88eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect("a")', 'null');
89eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
90eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockvar arabicIndicDigitOne = String.fromCharCode(0x661);
91eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('fontSizeAttributeEffect(arabicIndicDigitOne)', 'null');
92eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
93eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockvar successfullyParsed = true;
94