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

Side by Side Diff: sky/tests/mutation-observer/observe-options-attributes.sky

Issue 840223006: Don't queue mutation records when attributes don't change value. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months 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
« no previous file with comments | « sky/engine/core/dom/Element.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 <html>
2 <import src="../resources/chai.sky" /> 2 <import src="../resources/chai.sky" />
3 <import src="../resources/mocha.sky" /> 3 <import src="../resources/mocha.sky" />
4 <script> 4 <script>
5 describe('MutationObserver.observe', function() { 5 describe('MutationObserver.observe', function() {
6 it('should observe attributes', function() { 6 it('should observe attributes', function() {
7 var observer = new MutationObserver(function() {}); 7 var observer = new MutationObserver(function() {});
8 var element = document.createElement('div'); 8 var element = document.createElement('div');
9 element.setAttribute('data-test', '1'); 9 element.setAttribute('data-test', '1');
10 10
11 observer.observe(element, {attributeOldValue: true}); 11 observer.observe(element, {attributeOldValue: true});
12 element.setAttribute('data-test', '1'); 12 element.setAttribute('data-test', '2');
13 var records = observer.takeRecords(); 13 var records = observer.takeRecords();
14 assert.equal(records.length, 1); 14 assert.equal(records.length, 1);
15 assert.equal(records[0].oldValue, 1); 15 assert.equal(records[0].oldValue, 1);
16 observer.disconnect(); 16 observer.disconnect();
17 17
18 observer.observe(element, {attributeOldValue: false}); 18 observer.observe(element, {attributeOldValue: false});
19 element.setAttribute('data-test', '1'); 19 element.setAttribute('data-test', '3');
20 var records = observer.takeRecords(); 20 var records = observer.takeRecords();
21 assert.equal(records.length, 1); 21 assert.equal(records.length, 1);
22 assert.isNull(records[0].oldValue); 22 assert.isNull(records[0].oldValue);
23 observer.disconnect(); 23 observer.disconnect();
24 24
25 observer.observe(element, {attributeFilter: ['data-test']}); 25 observer.observe(element, {attributeFilter: ['data-test']});
26 element.setAttribute('data-test', '2'); 26 element.setAttribute('data-test', '4');
27 var records = observer.takeRecords(); 27 var records = observer.takeRecords();
28 assert.equal(records.length, 1); 28 assert.equal(records.length, 1);
29 assert.isNull(records[0].oldValue); 29 assert.isNull(records[0].oldValue);
30 observer.disconnect(); 30 observer.disconnect();
31 }); 31 });
32 }); 32 });
33 </script> 33 </script>
34 </html> 34 </html>
OLDNEW
« no previous file with comments | « sky/engine/core/dom/Element.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698