Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / css / getComputedStyle / script-tests / computed-style-font.js
1 description("This test exercises the 'font' shorthand property in CSS computed styles.");
2
3 var testDiv = document.createElement('div');
4 document.body.appendChild(testDiv);
5
6 function computedFont(fontString) {
7     testDiv.style.font = 'bold 600px serif';
8     testDiv.style.font = fontString;
9     return window.getComputedStyle(testDiv).getPropertyValue('font');
10 }
11
12 function computedFontCSSValue(fontString) {
13     testDiv.style.font = 'bold 600px serif';
14     testDiv.style.font = fontString;
15     var cssValue = window.getComputedStyle(testDiv).getPropertyCSSValue('font');
16     if (cssValue === null)
17         return null;
18     return cssValue.cssText;
19 }
20
21 shouldBe("computedFont('10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
22 shouldBe("computedFont('10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
23 shouldBe("computedFont('10px SANS-SERIF')", "'normal normal normal normal 10px/normal sans-serif'");
24 shouldBe("computedFont('12px sans-serif')", "'normal normal normal normal 12px/normal sans-serif'");
25 shouldBe("computedFont('12px  sans-serif')", "'normal normal normal normal 12px/normal sans-serif'");
26 shouldBe("computedFont('10px sans-serif, sans-serif')", "'normal normal normal normal 10px/normal sans-serif, sans-serif'");
27 shouldBe("computedFont('10px sans-serif, serif')", "'normal normal normal normal 10px/normal sans-serif, serif'");
28 shouldBe("computedFont('12px ahem')", "'normal normal normal normal 12px/normal ahem'");
29 shouldBe("computedFont('12px unlikely-font-name')", "'normal normal normal normal 12px/normal unlikely-font-name'");
30 shouldBe("computedFont('100 10px sans-serif')", "'normal normal 100 normal 10px/normal sans-serif'");
31 shouldBe("computedFont('200 10px sans-serif')", "'normal normal 200 normal 10px/normal sans-serif'");
32 shouldBe("computedFont('300 10px sans-serif')", "'normal normal 300 normal 10px/normal sans-serif'");
33 shouldBe("computedFont('400 10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
34 shouldBe("computedFont('normal 10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
35 shouldBe("computedFont('500 10px sans-serif')", "'normal normal 500 normal 10px/normal sans-serif'");
36 shouldBe("computedFont('600 10px sans-serif')", "'normal normal 600 normal 10px/normal sans-serif'");
37 shouldBe("computedFont('700 10px sans-serif')", "'normal normal bold normal 10px/normal sans-serif'");
38 shouldBe("computedFont('bold 10px sans-serif')", "'normal normal bold normal 10px/normal sans-serif'");
39 shouldBe("computedFont('800 10px sans-serif')", "'normal normal 800 normal 10px/normal sans-serif'");
40 shouldBe("computedFont('900 10px sans-serif')", "'normal normal 900 normal 10px/normal sans-serif'");
41 shouldBe("computedFont('italic 10px sans-serif')", "'italic normal normal normal 10px/normal sans-serif'");
42 shouldBe("computedFont('small-caps 10px sans-serif')", "'normal small-caps normal normal 10px/normal sans-serif'");
43 shouldBe("computedFont('italic small-caps 10px sans-serif')", "'italic small-caps normal normal 10px/normal sans-serif'");
44 shouldBe("computedFont('italic small-caps bold 10px sans-serif')", "'italic small-caps bold normal 10px/normal sans-serif'");
45 shouldBe("computedFont('10px/100% sans-serif')", "'normal normal normal normal 10px/10px sans-serif'");
46 shouldBe("computedFont('10px/100px sans-serif')", "'normal normal normal normal 10px/100px sans-serif'");
47 shouldBe("computedFont('10px/normal sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
48 shouldBe("computedFont('10px/normal sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
49
50 shouldBe("computedFontCSSValue('10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
51 shouldBe("computedFontCSSValue('10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
52 shouldBe("computedFontCSSValue('10px SANS-SERIF')", "'normal normal normal normal 10px/normal sans-serif'");
53 shouldBe("computedFontCSSValue('12px sans-serif')", "'normal normal normal normal 12px/normal sans-serif'");
54 shouldBe("computedFontCSSValue('12px  sans-serif')", "'normal normal normal normal 12px/normal sans-serif'");
55 shouldBe("computedFontCSSValue('10px sans-serif, sans-serif')", "'normal normal normal normal 10px/normal sans-serif, sans-serif'");
56 shouldBe("computedFontCSSValue('10px sans-serif, serif')", "'normal normal normal normal 10px/normal sans-serif, serif'");
57 shouldBe("computedFontCSSValue('12px ahem')", "'normal normal normal normal 12px/normal ahem'");
58 shouldBe("computedFontCSSValue('12px unlikely-font-name')", "'normal normal normal normal 12px/normal unlikely-font-name'");
59 shouldBe("computedFontCSSValue('100 10px sans-serif')", "'normal normal 100 normal 10px/normal sans-serif'");
60 shouldBe("computedFontCSSValue('200 10px sans-serif')", "'normal normal 200 normal 10px/normal sans-serif'");
61 shouldBe("computedFontCSSValue('300 10px sans-serif')", "'normal normal 300 normal 10px/normal sans-serif'");
62 shouldBe("computedFontCSSValue('400 10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
63 shouldBe("computedFontCSSValue('normal 10px sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
64 shouldBe("computedFontCSSValue('500 10px sans-serif')", "'normal normal 500 normal 10px/normal sans-serif'");
65 shouldBe("computedFontCSSValue('600 10px sans-serif')", "'normal normal 600 normal 10px/normal sans-serif'");
66 shouldBe("computedFontCSSValue('700 10px sans-serif')", "'normal normal bold normal 10px/normal sans-serif'");
67 shouldBe("computedFontCSSValue('bold 10px sans-serif')", "'normal normal bold normal 10px/normal sans-serif'");
68 shouldBe("computedFontCSSValue('800 10px sans-serif')", "'normal normal 800 normal 10px/normal sans-serif'");
69 shouldBe("computedFontCSSValue('900 10px sans-serif')", "'normal normal 900 normal 10px/normal sans-serif'");
70 shouldBe("computedFontCSSValue('italic 10px sans-serif')", "'italic normal normal normal 10px/normal sans-serif'");
71 shouldBe("computedFontCSSValue('small-caps 10px sans-serif')", "'normal small-caps normal normal 10px/normal sans-serif'");
72 shouldBe("computedFontCSSValue('italic small-caps 10px sans-serif')", "'italic small-caps normal normal 10px/normal sans-serif'");
73 shouldBe("computedFontCSSValue('italic small-caps bold 10px sans-serif')", "'italic small-caps bold normal 10px/normal sans-serif'");
74 shouldBe("computedFontCSSValue('10px/100% sans-serif')", "'normal normal normal normal 10px/10px sans-serif'");
75 shouldBe("computedFontCSSValue('10px/100px sans-serif')", "'normal normal normal normal 10px/100px sans-serif'");
76 shouldBe("computedFontCSSValue('10px/normal sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");
77 shouldBe("computedFontCSSValue('10px/normal sans-serif')", "'normal normal normal normal 10px/normal sans-serif'");