Serenity Operating System
at master 58 lines 2.4 kB view raw
1describe("body", () => { 2 loadLocalPage("/res/html/misc/blank.html"); 3 4 afterInitialPageLoad(page => { 5 test("Basic functionality", () => { 6 expect(page.document.body).not.toBeNull(); 7 // FIXME: Add this in once HTMLBodyElement's constructor is implemented. 8 //expect(page.document.body).toBeInstanceOf(HTMLBodyElement); 9 expect(page.document.body.nodeName).toBe("BODY"); 10 }); 11 12 // FIXME: Add this in once set_body is fully implemented. 13 test.skip("Setting body to a new body element", () => { 14 // Add something to body to see if it's gone afterwards 15 const p = page.document.createElement("p"); 16 page.document.body.appendChild(p); 17 18 expect(page.document.body.firstChild).toBe(p); 19 20 const newBody = page.document.createElement("body"); 21 page.document.body = newBody; 22 23 expect(page.document.body).not.toBeNull(); 24 expect(page.document.body.nodeName).toBe("BODY"); 25 26 // FIXME: Add this in once HTMLBodyElement's constructor is implemented. 27 //expect(page.document.body).toBeInstanceOf(HTMLBodyElement); 28 29 expect(page.document.body.firstChild).toBeNull(); 30 }); 31 32 // FIXME: Add this in once set_body is fully implemented. 33 test.skip("Setting body to a new frameset element", () => { 34 const newFrameSet = page.document.createElement("frameset"); 35 page.document.body = newFrameSet; 36 37 expect(page.document.body).not.toBeNull(); 38 expect(page.document.body.nodeName).toBe("FRAMESET"); 39 40 // FIXME: Add this in once HTMLFrameSetElement's constructor is implemented. 41 //expect(page.document.body).toBeInstanceOf(HTMLFrameSetElement); 42 }); 43 44 // FIXME: Add this in once set_body is fully implemented. 45 test.skip("Setting body to an element that isn't body/frameset", () => { 46 expect(() => { 47 page.document.body = page.document.createElement("div"); 48 }).toThrow(DOMException); 49 }); 50 51 // FIXME: Add this in once removeChild is implemented. 52 test.skip("Nullable", () => { 53 page.document.page.documentElement.removeChild(page.document.body); 54 expect(page.document.body).toBeNull(); 55 }); 56 }); 57 waitForPageToLoad(); 58});