|  | <!DOCTYPE html> | 
|  | <html> | 
|  | <head> | 
|  | <title>Custom element constructor sets local namespace to the namespace from custom element definition</title> | 
|  | <meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> | 
|  | <meta name="assert" content="Custom element constructor sets custom element namespace to the namespace in custom element definition"> | 
|  | <link rel="help" href="http://www.w3.org/TR/custom-elements/#instantiating-custom-elements"> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script src="../testcommon.js"></script> | 
|  | <link rel="stylesheet" href="/resources/testharness.css"> | 
|  | </head> | 
|  | <body> | 
|  | <div id="log"></div> | 
|  | <script> | 
|  | test(function() { | 
|  | var doc = newHTMLDocument(); | 
|  | var GeneratedConstructor = doc.registerElement('x-a'); | 
|  | var customElement = new GeneratedConstructor(); | 
|  | assert_equals(customElement.namespaceURI, HTML_NAMESPACE, | 
|  | 'Custom element namespace should be equal to namespace in custom element definition'); | 
|  | }, 'Custom element constructor sets namespace to the namespace from custom element definition'); | 
|  |  | 
|  |  | 
|  | test(function() { | 
|  | var doc = newHTMLDocument(); | 
|  | HTML5_ELEMENTS.forEach(function(tagName) { | 
|  | var obj = doc.createElement(tagName); | 
|  | var name = 'x-b-' + tagName; | 
|  | var proto = Object.create(obj.constructor.prototype); | 
|  | var GeneratedConstructor = doc.registerElement(name, { | 
|  | prototype: proto, | 
|  | extends: tagName | 
|  | }); | 
|  | var customElement = new GeneratedConstructor(); | 
|  |  | 
|  | assert_equals(customElement.namespaceURI, HTML_NAMESPACE, | 
|  | 'Custom element namespace should be equal to namespace in custom element definition'); | 
|  | }); | 
|  | }, 'Custom element constructor sets namespace to the namespace from custom element definition. ' + | 
|  | 'Test constructor of extended HTML element'); | 
|  | </script> | 
|  | </body> | 
|  | </html> |