| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../resources/js-test.js"></script> |
| <script> |
| description("Tests for ObservableArray's [[Delete]]"); |
| |
| let sheet1 = null; |
| let sheet2 = null; |
| let sheet3 = null; |
| |
| function runTest() { |
| "use strict"; |
| |
| sheet1 = new CSSStyleSheet() |
| sheet1.replaceSync('div { color: red }') |
| document.adoptedStyleSheets.push(sheet1) |
| |
| sheet2 = new CSSStyleSheet() |
| sheet2.replaceSync('div { color: blue }') |
| document.adoptedStyleSheets.push(sheet2) |
| |
| sheet3 = new CSSStyleSheet() |
| sheet3.replaceSync('div { color: green }') |
| document.adoptedStyleSheets.push(sheet3) |
| |
| shouldBe("document.adoptedStyleSheets.length", "3"); |
| |
| shouldBeFalse("delete document.adoptedStyleSheets.length;"); |
| |
| shouldBeFalse("delete document.adoptedStyleSheets[0]"); |
| shouldBeFalse("delete document.adoptedStyleSheets[1]"); |
| shouldBeFalse("delete document.adoptedStyleSheets[3]"); |
| |
| shouldBe("document.adoptedStyleSheets.length", "3"); |
| |
| shouldBeTrue("delete document.adoptedStyleSheets[2]"); |
| shouldBe("document.adoptedStyleSheets.length", "2"); |
| shouldBe("document.adoptedStyleSheets[0]", "sheet1"); |
| shouldBe("document.adoptedStyleSheets[1]", "sheet2"); |
| shouldBeUndefined("document.adoptedStyleSheets[2]"); |
| |
| shouldBeTrue("delete document.adoptedStyleSheets['1']"); |
| shouldBe("document.adoptedStyleSheets.length", "1"); |
| shouldBe("document.adoptedStyleSheets[0]", "sheet1"); |
| shouldBeUndefined("document.adoptedStyleSheets[1]"); |
| |
| shouldBeTrue("delete document.adoptedStyleSheets[0]"); |
| shouldBe("document.adoptedStyleSheets.length", "0"); |
| shouldBeUndefined("document.adoptedStyleSheets[0]"); |
| |
| evalAndLog("document.adoptedStyleSheets.foo = 1"); |
| shouldBeTrue("delete document.adoptedStyleSheets.foo;"); |
| shouldBeUndefined("document.adoptedStyleSheets.foo"); |
| } |
| |
| runTest(); |
| </script> |
| </body> |