diff options
Diffstat (limited to 'layout/style/test/test_font_face_cascade.html')
-rw-r--r-- | layout/style/test/test_font_face_cascade.html | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/layout/style/test/test_font_face_cascade.html b/layout/style/test/test_font_face_cascade.html new file mode 100644 index 0000000000..5074d803f5 --- /dev/null +++ b/layout/style/test/test_font_face_cascade.html @@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<title>Test that @font-face rules from different origins cascade correctly</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"> +<script> +let io = SpecialPowers.Cc["@mozilla.org/network/io-service;1"] + .getService(SpecialPowers.Ci.nsIIOService); + +let utils = SpecialPowers.getDOMWindowUtils(window); + +function load_sheet(sheet_text, level) { + if (level != "AGENT_SHEET" && level != "USER_SHEET" && level != "AUTHOR_SHEET") { + throw "unknown level"; + } + + let uri = io.newURI("data:text/css," + encodeURI(sheet_text)); + utils.loadSheet(uri, utils[level]); +} + +load_sheet( + "@font-face { font-family: TestAgent; src: url(about:invalid); }", + "AGENT_SHEET"); + +load_sheet( + "@font-face { font-family: TestAuthor; src: url(about:invalid); }", + "AUTHOR_SHEET"); + +load_sheet( + "@font-face { font-family: TestUser; src: url(about:invalid); }", + "USER_SHEET"); + +is([...document.fonts].map(f => f.family).join(" "), + 'TestAgent TestUser TestAuthor', + "@font-face rules are returned in correct cascade order"); +</script> |