OLD | NEW |
1 <html> | 1 <html> |
2 <link rel="import" href="../resources/mocha.sky" /> | 2 <link rel="import" href="../resources/mocha.sky" /> |
3 <link rel="import" href="../resources/chai.sky" /> | 3 <link rel="import" href="../resources/chai.sky" /> |
4 <script> | 4 <script> |
5 describe("Attribute collection", function() { | 5 describe("Attribute collection", function() { |
6 var div; | 6 var div; |
7 beforeEach(function() { | 7 beforeEach(function() { |
8 div = document.createElement("div"); | 8 div = document.createElement("div"); |
9 }); | 9 }); |
10 | 10 |
11 it("should get by index", function() { | 11 it("should get by index", function() { |
12 div.setAttribute("attr0", "value0"); | 12 div.setAttribute("attr0", "value0"); |
13 div.setAttribute("attr1", "value1"); | 13 div.setAttribute("attr1", "value1"); |
14 assert.equal(div.attributes.length, 2); | 14 assert.equal(div.attributes.length, 2); |
15 assert.equal(div.attributes[0].name, "attr0"); | 15 assert.equal(div.attributes[0].name, "attr0"); |
16 assert.equal(div.attributes[0].value, "value0"); | 16 assert.equal(div.attributes[0].value, "value0"); |
17 assert.equal(div.attributes[1].name, "attr1"); | 17 assert.equal(div.attributes[1].name, "attr1"); |
18 assert.equal(div.attributes[1].value, "value1"); | 18 assert.equal(div.attributes[1].value, "value1"); |
19 }); | 19 }); |
20 it("should get by name", function() { | 20 it("should get by name", function() { |
21 div.setAttribute("attr0", "value0"); | 21 div.setAttribute("attr0", "value0"); |
22 div.setAttribute("attr1", "value1"); | 22 div.setAttribute("attr1", "value1"); |
23 assert.equal(div.attributes.length, 2); | 23 assert.equal(div.attributes.length, 2); |
24 assert.equal(div.attributes.attr0.value, "value0"); | 24 assert.equal(div.attributes.attr0.value, "value0"); |
25 assert.equal(div.attributes.attr1.value, "value1"); | 25 assert.equal(div.attributes.attr1.value, "value1"); |
26 }); | 26 }); |
| 27 it("should get all at once", function() { |
| 28 div.setAttribute("attr0", "value0"); |
| 29 div.setAttribute("attr1", "value1"); |
| 30 var attrs = div.getAttributes(); |
| 31 assert.equal(attrs.length, 2); |
| 32 assert.equal(attrs[0].name, "attr0"); |
| 33 assert.equal(attrs[0].value, "value0"); |
| 34 assert.equal(attrs[1].name, "attr1"); |
| 35 assert.equal(attrs[1].value, "value1"); |
| 36 }); |
27 it("should set by name", function() { | 37 it("should set by name", function() { |
28 div.setAttribute("attrName", "value0"); | 38 div.setAttribute("attrName", "value0"); |
29 div.attributes.attrName.value = "new value"; | 39 div.attributes.attrName.value = "new value"; |
30 assert.equal(div.getAttribute("attrName"), "new value"); | 40 assert.equal(div.getAttribute("attrName"), "new value"); |
31 assert.equal(div.attributes.attrName.value, "new value"); | 41 assert.equal(div.attributes.attrName.value, "new value"); |
32 }); | 42 }); |
33 it("should be case sensitive", function() { | 43 it("should be case sensitive", function() { |
34 div.setAttribute("attrName", "value0"); | 44 div.setAttribute("attrName", "value0"); |
35 assert.isUndefined(div.attributes.attrname); | 45 assert.isUndefined(div.attributes.attrname); |
36 assert.ok(div.attributes.attrName); | 46 assert.ok(div.attributes.attrName); |
(...skipping 10 matching lines...) Expand all Loading... |
47 assert.equal(div.attributes[1].name, "attr2"); | 57 assert.equal(div.attributes[1].name, "attr2"); |
48 div.setAttribute("attr3", ""); | 58 div.setAttribute("attr3", ""); |
49 div.setAttribute("attr2", "value2"); | 59 div.setAttribute("attr2", "value2"); |
50 assert.equal(div.attributes.length, 3); | 60 assert.equal(div.attributes.length, 3); |
51 assert.equal(div.attributes[2].name, "attr3"); | 61 assert.equal(div.attributes[2].name, "attr3"); |
52 assert.equal(div.attributes.attr2.value, "value2"); | 62 assert.equal(div.attributes.attr2.value, "value2"); |
53 }); | 63 }); |
54 }); | 64 }); |
55 </script> | 65 </script> |
56 </html> | 66 </html> |
OLD | NEW |