document-base-uri-synthetic-document.html (1605B)
1 <!DOCTYPE html> 2 <link rel=author href="mailto:jarhar@chromium.org"> 3 <link rel=help href="https://bugs.chromium.org/p/chromium/issues/detail?id=1486750"> 4 <link rel=help href="https://html.spec.whatwg.org/multipage/urls-and-fetching.html#document-base-url"> 5 <link rel=help href="https://html.spec.whatwg.org/multipage/urls-and-fetching.html#fallback-base-url"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 9 <body> 10 <script> 11 test(() => { 12 const doc1 = document.implementation.createHTMLDocument(); 13 assert_equals(doc1.baseURI, 'about:blank', 'document.implementation.createHTMLDocument()'); 14 15 const doc2 = document.implementation.createDocument('', ''); 16 assert_equals(doc2.baseURI, 'about:blank', 'document.implementation.createDocument("", "")'); 17 18 const doc3 = new Document(); 19 assert_equals(doc3.baseURI, 'about:blank', 'new Document()'); 20 }, 'Synthetic documents should return about:blank for document.baseURI.'); 21 22 test(() => { 23 const doc = document.implementation.createHTMLDocument(); 24 assert_equals(doc.baseURI, 'about:blank', 'baseURI should be about:blank without a <base>.'); 25 26 const base = doc.createElement('base'); 27 base.href = '/foo'; 28 doc.head.appendChild(base); 29 assert_equals(doc.baseURI, 'about:blank', '<base> with relative URL should not change the about:blank baseURI.'); 30 31 base.href = 'http://example.com/'; 32 assert_equals(doc.baseURI, 'http://example.com/', '<base> with complete URL should replace the about:blank baseURI.'); 33 }, 'Synthetic documents should incorporate <base> href URLs correctly.'); 34 </script>