Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(154)

Side by Side Diff: sky/tests/lowlevel/attribute-collection.sky

Issue 697773002: Remove Element#attributes. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix template binding. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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);
15 assert.equal(div.attributes[0].name, "attr0");
16 assert.equal(div.attributes[0].value, "value0");
17 assert.equal(div.attributes[1].name, "attr1");
18 assert.equal(div.attributes[1].value, "value1");
19 });
20 it("should get by name", function() {
21 div.setAttribute("attr0", "value0");
22 div.setAttribute("attr1", "value1");
23 assert.equal(div.attributes.length, 2);
24 assert.equal(div.attributes.attr0.value, "value0");
25 assert.equal(div.attributes.attr1.value, "value1");
26 });
27 it("should get all at once", function() {
28 div.setAttribute("attr0", "value0");
29 div.setAttribute("attr1", "value1");
30 var attrs = div.getAttributes(); 14 var attrs = div.getAttributes();
31 assert.equal(attrs.length, 2); 15 assert.equal(attrs.length, 2);
32 assert.equal(attrs[0].name, "attr0"); 16 assert.equal(attrs[0].name, "attr0");
33 assert.equal(attrs[0].value, "value0"); 17 assert.equal(attrs[0].value, "value0");
34 assert.equal(attrs[1].name, "attr1"); 18 assert.equal(attrs[1].name, "attr1");
35 assert.equal(attrs[1].value, "value1"); 19 assert.equal(attrs[1].value, "value1");
36 }); 20 });
37 it("should set by name", function() { 21 it("should set by name", function() {
38 div.setAttribute("attrName", "value0"); 22 div.setAttribute("attrName", "value0");
39 div.attributes.attrName.value = "new value"; 23 assert.equal(div.getAttribute("attrName"), "value0");
24 assert.equal(div.getAttributes()[0].name, "attrName");
25 assert.equal(div.getAttributes()[0].value, "value0");
26 div.setAttribute("attrName", "new value");
40 assert.equal(div.getAttribute("attrName"), "new value"); 27 assert.equal(div.getAttribute("attrName"), "new value");
41 assert.equal(div.attributes.attrName.value, "new value"); 28 assert.equal(div.getAttributes()[0].name, "attrName");
29 assert.equal(div.getAttributes()[0].value, "new value");
42 }); 30 });
43 it("should be case sensitive", function() { 31 it("should be case sensitive", function() {
44 div.setAttribute("attrName", "value0"); 32 div.setAttribute("attrName", "value0");
45 assert.isUndefined(div.attributes.attrname); 33 assert.isNull(div.getAttribute("attrname"));
46 assert.ok(div.attributes.attrName); 34 assert.equal(div.getAttribute("attrName"), "value0");
47 assert.equal(div.attributes.attrName.value, "value0");
48 }); 35 });
49 it("should live update", function() { 36 it("should not live update", function() {
50 div.setAttribute("attr0", ""); 37 div.setAttribute("attr0", "0");
51 div.setAttribute("attr1", ""); 38 div.setAttribute("attr1", "1");
52 div.setAttribute("attr2", ""); 39 div.setAttribute("attr2", "2");
53 assert.equal(div.attributes.length, 3); 40 var oldAttributes = div.getAttributes();
41 assert.equal(oldAttributes.length, 3);
54 div.removeAttribute("attr1"); 42 div.removeAttribute("attr1");
55 assert.equal(div.attributes.length, 2); 43 assert.equal(oldAttributes.length, 3);
56 assert.equal(div.attributes[0].name, "attr0"); 44 div.setAttribute("attr0", "value0");
57 assert.equal(div.attributes[1].name, "attr2");
58 div.setAttribute("attr3", "");
59 div.setAttribute("attr2", "value2"); 45 div.setAttribute("attr2", "value2");
60 assert.equal(div.attributes.length, 3); 46 var newAttributes = div.getAttributes();
61 assert.equal(div.attributes[2].name, "attr3"); 47 assert.equal(newAttributes.length, 2);
62 assert.equal(div.attributes.attr2.value, "value2"); 48 assert.equal(newAttributes[0].name, "attr0");
49 assert.equal(newAttributes[0].value, "value0");
50 assert.equal(newAttributes[1].name, "attr2");
51 assert.equal(newAttributes[1].value, "value2");
52 assert.notEqual(newAttributes, oldAttributes);
53 assert.equal(oldAttributes[0].name, "attr0");
54 assert.equal(oldAttributes[0].value, "0");
55 assert.equal(oldAttributes[1].name, "attr1");
56 assert.equal(oldAttributes[1].value, "1");
57 assert.equal(oldAttributes[2].name, "attr2");
58 assert.equal(oldAttributes[2].value, "2");
63 }); 59 });
64 }); 60 });
65 </script> 61 </script>
66 </html> 62 </html>
OLDNEW
« no previous file with comments | « sky/framework/sky-element/TemplateBinding.sky ('k') | sky/tests/lowlevel/attribute-collection-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698