summaryrefslogtreecommitdiffstats
path: root/layout/style/test/test_computed_style_in_created_document.html
blob: 72ff0f592124cc3468d7c454158c3b813fbc9659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html>
<html>
<head>
  <title>Test for bug 1398619</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
</head>
<body>
<script>
SimpleTest.waitForExplicitFinish();
let referenceFontSize = getComputedStyle(document.body).fontSize;

function checkComputedStyle(desc, doc) {
  try {
    let fontSize = getComputedStyle(doc.body).fontSize;
    is(fontSize, referenceFontSize, `${desc}: get computed font-size`);
  } catch (e) {
    ok(false, `${desc}: fail to get computed font-size, ${e}`);
  }
}

async function runTest() {
  // DOMParser
  {
    let parser = new DOMParser();
    let doc = parser.parseFromString("<body>", "text/html");
    checkComputedStyle("DOMParser", doc);
  }
  // DOMImplementation
  {
    let doc = document.implementation.createHTMLDocument("");
    checkComputedStyle("DOMImplementation", doc);
  }
  // XMLHttpRequest
  {
    let xhr = new XMLHttpRequest();
    xhr.open("GET", "empty.html");
    xhr.responseType = "document";
    let promise = new Promise(resolve => {
      xhr.onload = resolve;
    });
    xhr.send();
    await promise;
    checkComputedStyle("XMLHttpRequest", xhr.responseXML);
  }
}
runTest()
  .catch(e => ok(false, `Exception: ${e}`))
  .then(() => SimpleTest.finish());
</script>
</body>
</html>