<!DOCTYPE html>
<html>
<head>
<title>For SVG prototype namespace is SVG namespace</title>
<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
<meta name="assert" content="If PROTOTYPE's interface inherits from SVGElement, set NAMESPACE to SVG Namespace">
<link rel="help" href="http://www.w3.org/TR/custom-elements/#registering-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 proto = Object.create(SVGElement.prototype);
    var GeneratedConstructor = doc.registerElement('x-a', {prototype: proto, extends: 'a'});
    var customElement = new GeneratedConstructor();

    assert_equals(customElement.namespaceURI, SVG_NAMESPACE,
        'Custom element namespace should be SVG namespace');
}, 'For SVG prototype namespace is SVG namespace');
</script>
</body>
</html>
