size-attribute.js revision 68513a70bcd92384395513322f1b801e7bf9c729
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