| <html> |
| <import src="../resources/chai.sky" /> |
| <import src="../resources/mocha.sky" /> |
| <script> |
| describe('Non-relevant properties on mutation records should be null, except for NodeLists, which should be empty', function() { |
| |
| var observer = new MutationObserver(function() {}); |
| |
| it('on characterData records', function() { |
| var text = new Text('something'); |
| observer.observe(text, {characterData: true}); |
| text.data = 'something else'; |
| var record = observer.takeRecords()[0]; |
| assert.isNull(record.attributeName); |
| assert.isNull(record.oldValue); |
| assert.isNull(record.previousSibling); |
| assert.isNull(record.nextSibling); |
| assert.equal(record.addedNodes.length, 0); |
| assert.equal(record.removedNodes.length, 0); |
| }); |
| it('on childList records', function() { |
| var div = document.createElement('div'); |
| observer.observe(div, {childList: true}); |
| div.appendChild(document.createElement('span')); |
| var record = observer.takeRecords()[0]; |
| assert.isNull(record.attributeName); |
| assert.isNull(record.oldValue); |
| }); |
| it('on attribute records', function() { |
| var div = document.createElement('div'); |
| observer.observe(div, {attributes: true}); |
| div.setAttribute('data-foo', 'bar'); |
| var record = observer.takeRecords()[0]; |
| assert.isNull(record.oldValue); |
| assert.isNull(record.previousSibling); |
| assert.isNull(record.nextSibling); |
| assert.equal(record.addedNodes.length, 0); |
| assert.equal(record.removedNodes.length, 0); |
| }); |
| }); |
| </script> |
| </html> |