| <!-- Valid src descriptor rules. --> |
| <style> |
| @font-face { |
| src: url(font.ttf); |
| } |
| @font-face { |
| src: url(http://foo/bar/font.ttf); |
| } |
| @font-face { |
| src: url(font.svg#id); |
| } |
| @font-face { |
| src: url(font.ttf) format("truetype"); |
| } |
| @font-face { |
| src: url(font.woff) format("woff"), local(font2); |
| } |
| @font-face { |
| src: url(font.ttf) format("truetype"), url(font2.ttf); |
| } |
| @font-face { |
| src: url(font.ttf), url(font2.ttf) format("truetype"); |
| } |
| @font-face { |
| src: url(font.ttf), local(font2), url(font3.otf) format("opentype"), local(foo bar); |
| } |
| @font-face { |
| src: local(foo); |
| } |
| @font-face { |
| src: local(font), local(foo bar); |
| } |
| @font-face { |
| src: local("foo"); |
| } |
| @font-face { |
| src: local("foo bar"); |
| } |
| </style> |
| |
| <!-- Invalid src descriptor rules. --> |
| <style> |
| @font-face { |
| src: url(font.ttf invalid); |
| } |
| @font-face { |
| src: url(font.ttf),; |
| } |
| @font-face { |
| src: url(font.ttf), local(font2),; |
| } |
| @font-face { |
| src: ,local(font); |
| } |
| @font-face { |
| src: url(font.ttf), invalid(); |
| } |
| @font-face { |
| src: url(foo.ttf) invalid; |
| } |
| |
| @font-face { |
| src: url(foo.ttf), invalid; |
| } |
| @font-face { |
| src: url(foo.ttf) "invalid"; |
| } |
| </style> |
| <p>Test parsing the src descriptor of @font-face.</p> |
| |
| <p>Valid rules form the stylesheet:</p> |
| <div id="validResult"></div> |
| |
| <p>Expected result for valid rules:</p> |
| <pre id="validExpected">@font-face { src: url(font.ttf); } |
| @font-face { src: url(http://foo/bar/font.ttf); } |
| @font-face { src: url(font.svg#id); } |
| @font-face { src: url(font.ttf) format(truetype); } |
| @font-face { src: url(font.woff) format(woff), local(font2); } |
| @font-face { src: url(font2.ttf); } |
| @font-face { src: url(font2.ttf) format(truetype); } |
| @font-face { src: url(font3.otf) format(opentype), local(foo bar); } |
| @font-face { src: local(foo); } |
| @font-face { src: local(font), local(foo bar); } |
| @font-face { src: local(foo); } |
| @font-face { src: local(foo bar); } |
| </pre> |
| |
| <p>Invalid rules form the stylesheet:</p> |
| <pre id="invalidResult"></pre> |
| |
| <p>Expected result for invalid rules:</p> |
| <pre id="invalidExpected">@font-face { } |
| @font-face { } |
| @font-face { } |
| @font-face { } |
| @font-face { } |
| @font-face { } |
| @font-face { } |
| @font-face { } |
| </pre> |
| |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var validRules = document.styleSheets[0].cssRules; |
| var result = ''; |
| for (var i = 0; i < validRules.length; ++i) { |
| var itemText = validRules.item(i).cssText.replace(/file:.*LayoutTests\/fast\/css\//, ''); |
| result += itemText + '\n'; |
| } |
| document.getElementById('validResult').innerText = result; |
| |
| var invalidRules = document.styleSheets[1].cssRules; |
| result = ''; |
| for (var i = 0; i < invalidRules.length; ++i) { |
| var itemText = invalidRules.item(i).cssText; |
| result += itemText + '\n'; |
| } |
| document.getElementById('invalidResult').innerText = result; |
| </script> |