| <html> |
| <import src="../resources/mocha.sky" /> |
| <import src="../resources/chai.sky" /> |
| <script> |
| describe("Attribute collection", function() { |
| var div; |
| beforeEach(function() { |
| div = document.createElement("div"); |
| }); |
| |
| it("should get by index", function() { |
| div.setAttribute("attr0", "value0"); |
| div.setAttribute("attr1", "value1"); |
| var attrs = div.getAttributes(); |
| assert.equal(attrs.length, 2); |
| assert.equal(attrs[0].name, "attr0"); |
| assert.equal(attrs[0].value, "value0"); |
| assert.equal(attrs[1].name, "attr1"); |
| assert.equal(attrs[1].value, "value1"); |
| }); |
| it("should set by name", function() { |
| div.setAttribute("attrName", "value0"); |
| assert.equal(div.getAttribute("attrName"), "value0"); |
| assert.equal(div.getAttributes()[0].name, "attrName"); |
| assert.equal(div.getAttributes()[0].value, "value0"); |
| div.setAttribute("attrName", "new value"); |
| assert.equal(div.getAttribute("attrName"), "new value"); |
| assert.equal(div.getAttributes()[0].name, "attrName"); |
| assert.equal(div.getAttributes()[0].value, "new value"); |
| }); |
| it("should be case sensitive", function() { |
| div.setAttribute("attrName", "value0"); |
| assert.isNull(div.getAttribute("attrname")); |
| assert.equal(div.getAttribute("attrName"), "value0"); |
| }); |
| it("should not live update", function() { |
| div.setAttribute("attr0", "0"); |
| div.setAttribute("attr1", "1"); |
| div.setAttribute("attr2", "2"); |
| var oldAttributes = div.getAttributes(); |
| assert.equal(oldAttributes.length, 3); |
| div.removeAttribute("attr1"); |
| assert.equal(oldAttributes.length, 3); |
| div.setAttribute("attr0", "value0"); |
| div.setAttribute("attr2", "value2"); |
| var newAttributes = div.getAttributes(); |
| assert.equal(newAttributes.length, 2); |
| assert.equal(newAttributes[0].name, "attr0"); |
| assert.equal(newAttributes[0].value, "value0"); |
| assert.equal(newAttributes[1].name, "attr2"); |
| assert.equal(newAttributes[1].value, "value2"); |
| assert.notEqual(newAttributes, oldAttributes); |
| assert.equal(oldAttributes[0].name, "attr0"); |
| assert.equal(oldAttributes[0].value, "0"); |
| assert.equal(oldAttributes[1].name, "attr1"); |
| assert.equal(oldAttributes[1].value, "1"); |
| assert.equal(oldAttributes[2].name, "attr2"); |
| assert.equal(oldAttributes[2].value, "2"); |
| }); |
| }); |
| </script> |
| </html> |