| Index: sky/tests/custom-elements/document-register-basic.sky
|
| diff --git a/sky/tests/custom-elements/document-register-basic.sky b/sky/tests/custom-elements/document-register-basic.sky
|
| deleted file mode 100644
|
| index 6679362fb647245886ccb6363135381a56d7b58e..0000000000000000000000000000000000000000
|
| --- a/sky/tests/custom-elements/document-register-basic.sky
|
| +++ /dev/null
|
| @@ -1,101 +0,0 @@
|
| -<html>
|
| -<import src="../resources/chai.sky" />
|
| -<import src="../resources/mocha.sky" />
|
| -<body>
|
| -<div id="container"></div>
|
| -<script>
|
| -describe('document.registerElement()', function() {
|
| - it('should have basic behaviors', function() {
|
| - function createRegisterParameters()
|
| - {
|
| - return {
|
| - prototype: Object.create(HTMLElement.prototype, { thisIsPrototype: { value: true } })
|
| - };
|
| - }
|
| -
|
| - var fooConstructor = document.registerElement('x-foo', createRegisterParameters());
|
| - assert.equal(typeof fooConstructor, "function");
|
| - assert.equal(fooConstructor.prototype.__proto__, HTMLElement.prototype);
|
| - assert.ok(fooConstructor.prototype.thisIsPrototype);
|
| -
|
| - // Bad prototype: prototype is already a built-in interface prototype object
|
| - assert.throws(function() {
|
| - document.registerElement("x-bad-a", HTMLElement)
|
| - });
|
| - // Bad prototype: prototype is already a Custom Element interface prototype object
|
| - assert.throws(function() {
|
| - document.registerElement("x-bad-b", fooConstructor)
|
| - });
|
| - // Bad prototype: 'constructor' is not configurable
|
| - var proto = Object.create(HTMLElement.prototype, {
|
| - constructor: {configurable: false, writable: true}
|
| - });
|
| - assert.throws(function() {
|
| - document.registerElement("x-bad-c", { prototype: proto })
|
| - });
|
| - // Call as function
|
| - assert.throws(function() {
|
| - fooConstructor()
|
| - })
|
| -
|
| - // Constructor initiated instantiation
|
| - var createdFoo = new fooConstructor();
|
| -
|
| - // JS built-in properties
|
| - assert.equal(createdFoo.__proto__, fooConstructor.prototype);
|
| - assert.equal(createdFoo.constructor, fooConstructor);
|
| -
|
| - // Native getter
|
| - assert.equal(createdFoo.tagName, "x-foo");
|
| -
|
| - // Native setter
|
| - createdFoo.textContent = 'Hello';
|
| - assert.equal(createdFoo.textContent, "Hello");
|
| -
|
| - // Native method
|
| - var childDiv = document.createElement('div');
|
| - createdFoo.appendChild(childDiv);
|
| - assert.equal(createdFoo.lastChild, childDiv);
|
| -
|
| - // Parser initiated instantiation
|
| - var container = document.getElementById('container');
|
| - container.appendChild(document.createElement("x-foo"));
|
| - var parsedFoo = container.firstChild;
|
| -
|
| - assert.equal(parsedFoo.__proto__, fooConstructor.prototype);
|
| - assert.equal(parsedFoo.tagName, "x-foo");
|
| -
|
| - // Ensuring the wrapper is retained
|
| - parsedFoo.someProperty = 'hello';
|
| - assert.equal(parsedFoo.someProperty, container.firstChild.someProperty);
|
| -
|
| - // Having another constructor
|
| - var barConstructor = document.registerElement('x-bar', createRegisterParameters());
|
| - assert.ok('barConstructor !== fooConstructor');
|
| - var createdBar = new barConstructor();
|
| - assert.equal(createdBar.tagName, "x-bar");
|
| -
|
| - // Having a subclass
|
| - var bazConstructor = document.registerElement('x-baz', { prototype: Object.create(fooConstructor.prototype, { thisIsAlsoPrototype: { value: true } }) });
|
| - var createdBaz = new bazConstructor();
|
| - assert.equal(createdBaz.tagName, "x-baz");
|
| - assert.ok(createdBaz.thisIsPrototype);
|
| - assert.ok(createdBaz.thisIsAlsoPrototype);
|
| -
|
| - // With irregular cases
|
| - var createdUpperBar = document.createElement('X-BAR');
|
| - var createdMixedBar = document.createElement('X-Bar');
|
| - assert.notEqual(createdUpperBar.constructor, barConstructor);
|
| - assert.notEqual(createdUpperBar.tagName, "x-bar");
|
| - assert.notEqual(createdMixedBar.constructor, barConstructor);
|
| - assert.notEqual(createdMixedBar.tagName, "x-bar");
|
| -
|
| - // Constructors shouldn't interfere with each other
|
| - assert.equal((new fooConstructor).tagName, "x-foo");
|
| - assert.equal((new barConstructor).tagName, "x-bar");
|
| - assert.equal((new bazConstructor).tagName, "x-baz");
|
| - });
|
| -});
|
| -</script>
|
| -</body>
|
| -</html>
|
|
|