<!DOCTYPE html>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<body>
<script>
test(function () {
    var A = document.registerElement('x-a');
    assert_equals(A.prototype.constructor, A,
                  'the default prototype\'s constructor should be the ' +
                  'generated constructor');

    assert_true(A.prototype instanceof HTMLElement,
                'the default prototype should be HTMLElement');

    function m() { }
    A.prototype.myMethod = m;
    var x = new A();
    assert_equals(x.myMethod, m,
                  'the element should get methods from the default prototype');
}, 'a default prototype object should be provided if one is not specified');
</script>
