test_custom_element_invalid_name.html (918B)
1 <head> 2 <title>Test for copy/paste with XHTML</title> 3 <script src="/tests/SimpleTest/SimpleTest.js"></script> 4 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 5 </head> 6 <body> 7 <script> 8 SimpleTest.waitForExplicitFinish(); 9 10 let defineMessage; 11 try { 12 customElements.define("invalidName", class extends HTMLElement {}); 13 } catch ({ message }) { 14 defineMessage = message; 15 } 16 ok(defineMessage && defineMessage.includes("invalidName"), 17 "customElements.define should throw for invalid names and the message should contain the invalid name."); 18 19 customElements.whenDefined("invalidName").catch(({ message }) => message).then(m => { 20 ok(m && m.includes("invalidName"), 21 "customElements.whenDefined should also throw for invalid names and the message should contain the invalid name."); 22 SimpleTest.finish(); 23 }); 24 </script> 25 </body>