| Index: LayoutTests/imported/web-platform-tests/custom-elements/registering-custom-elements/definition-construction-algorithm-duplicate-definition.html
 | 
| diff --git a/LayoutTests/imported/web-platform-tests/custom-elements/registering-custom-elements/definition-construction-algorithm-duplicate-definition.html b/LayoutTests/imported/web-platform-tests/custom-elements/registering-custom-elements/definition-construction-algorithm-duplicate-definition.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..3819536e9c2e5adc12c6f8e81e878892899fd330
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/imported/web-platform-tests/custom-elements/registering-custom-elements/definition-construction-algorithm-duplicate-definition.html
 | 
| @@ -0,0 +1,57 @@
 | 
| +<!DOCTYPE html>
 | 
| +<html>
 | 
| +<head>
 | 
| +<title>Check duplicate definition</title>
 | 
| +<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
 | 
| +<meta name="assert" content="If there already exists a definition with the same TYPE, set ERROR to DuplicateDefinition and stop">
 | 
| +<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 name = 'x-a';
 | 
| +    doc.registerElement(name);
 | 
| +    assert_throws('NotSupportedError', function() {
 | 
| +        doc.registerElement(name);
 | 
| +    }, 'Exception should be thrown if definition with the same type already exists');
 | 
| +}, 'Check duplicate definition');
 | 
| +
 | 
| +
 | 
| +test(function() {
 | 
| +    var doc = newHTMLDocument();
 | 
| +    var name = 'x-b';
 | 
| +    doc.registerElement(name);
 | 
| +    HTML5_ELEMENTS.forEach(function(tagName) {
 | 
| +        assert_throws('NotSupportedError', function() {
 | 
| +            doc.registerElement(name, {
 | 
| +                extends: tagName
 | 
| +            });
 | 
| +        }, 'Exception should be thrown if definition with the same type already exists');
 | 
| +    });
 | 
| +}, 'Check duplicate definition. Specify constructor');
 | 
| +
 | 
| +
 | 
| +test(function() {
 | 
| +    var doc = newHTMLDocument();
 | 
| +    var name = 'x-c';
 | 
| +    doc.registerElement(name, {
 | 
| +        prototype: Object.create(HTMLAnchorElement.prototype),
 | 
| +        extends: 'a'
 | 
| +    });
 | 
| +    HTML5_ELEMENTS.forEach(function(tagName) {
 | 
| +        assert_throws('NotSupportedError', function() {
 | 
| +            doc.registerElement(name, {
 | 
| +                extends: tagName
 | 
| +            });
 | 
| +        }, 'Exception should be thrown if definition with the same type already exists');
 | 
| +    });
 | 
| +}, 'Check duplicate definition. Test different prototypes and extends');
 | 
| +</script>
 | 
| +</body>
 | 
| +</html>
 | 
| 
 |