| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library mutationobserver_test; | 5 library mutationobserver_test; |
| 6 import '../../pkg/unittest/lib/unittest.dart'; | 6 import '../../pkg/unittest/lib/unittest.dart'; |
| 7 import '../../pkg/unittest/lib/html_individual_config.dart'; | 7 import '../../pkg/unittest/lib/html_individual_config.dart'; |
| 8 import 'dart:html'; | 8 import 'dart:html'; |
| 9 | 9 |
| 10 /** | 10 /** |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 test('empty options is syntax error', () { | 51 test('empty options is syntax error', () { |
| 52 expect(() { | 52 expect(() { |
| 53 var mutationObserver = new MutationObserver( | 53 var mutationObserver = new MutationObserver( |
| 54 (mutations, observer) { expect(false, isTrue, | 54 (mutations, observer) { expect(false, isTrue, |
| 55 reason: 'Should not be reached'); }); | 55 reason: 'Should not be reached'); }); |
| 56 expect(() { mutationObserver.observe(document, {}); }, | 56 expect(() { mutationObserver.observe(document, {}); }, |
| 57 throws); | 57 throws); |
| 58 }, expectation); | 58 }, expectation); |
| 59 }); | 59 }); |
| 60 | 60 |
| 61 test('direct-parallel options-map', () { | |
| 62 expect(() { | |
| 63 var container = new DivElement(); | |
| 64 var div1 = new DivElement(); | |
| 65 var div2 = new DivElement(); | |
| 66 var mutationObserver = new MutationObserver( | |
| 67 mutationCallback(2, orderedEquals([div1, div2]))); | |
| 68 mutationObserver.observe(container, options: {'childList': true}); | |
| 69 | |
| 70 container.nodes.add(div1); | |
| 71 container.nodes.add(div2); | |
| 72 }, expectation); | |
| 73 }); | |
| 74 | |
| 75 test('direct-parallel options-named', () { | 61 test('direct-parallel options-named', () { |
| 76 expect(() { | 62 expect(() { |
| 77 var container = new DivElement(); | 63 var container = new DivElement(); |
| 78 var div1 = new DivElement(); | 64 var div1 = new DivElement(); |
| 79 var div2 = new DivElement(); | 65 var div2 = new DivElement(); |
| 80 var mutationObserver = new MutationObserver( | 66 var mutationObserver = new MutationObserver( |
| 81 mutationCallback(2, orderedEquals([div1, div2]))); | 67 mutationCallback(2, orderedEquals([div1, div2]))); |
| 82 mutationObserver.observe(container, childList: true); | 68 mutationObserver.observe(container, childList: true); |
| 83 | 69 |
| 84 container.nodes.add(div1); | 70 container.nodes.add(div1); |
| 85 container.nodes.add(div2); | 71 container.nodes.add(div2); |
| 86 }, expectation); | 72 }, expectation); |
| 87 }); | 73 }); |
| 88 | 74 |
| 89 test('direct-nested options-named', () { | 75 test('direct-nested options-named', () { |
| 90 expect(() { | 76 expect(() { |
| 91 var container = new DivElement(); | 77 var container = new DivElement(); |
| 92 var div1 = new DivElement(); | 78 var div1 = new DivElement(); |
| 93 var div2 = new DivElement(); | 79 var div2 = new DivElement(); |
| 94 var mutationObserver = | 80 var mutationObserver = |
| 95 new MutationObserver(mutationCallback(1, orderedEquals([div1]))); | 81 new MutationObserver(mutationCallback(1, orderedEquals([div1]))); |
| 96 mutationObserver.observe(container, childList: true); | 82 mutationObserver.observe(container, childList: true); |
| 97 | 83 |
| 98 container.nodes.add(div1); | 84 container.nodes.add(div1); |
| 99 div1.nodes.add(div2); | 85 div1.nodes.add(div2); |
| 100 }, expectation); | 86 }, expectation); |
| 101 }); | 87 }); |
| 102 | 88 |
| 103 | |
| 104 test('subtree options-map', () { | |
| 105 expect(() { | |
| 106 var container = new DivElement(); | |
| 107 var div1 = new DivElement(); | |
| 108 var div2 = new DivElement(); | |
| 109 var mutationObserver = new MutationObserver( | |
| 110 mutationCallback(2, orderedEquals([div1, div2]))); | |
| 111 mutationObserver.observe(container, | |
| 112 options: {'childList': true, 'subtree': true}); | |
| 113 | |
| 114 container.nodes.add(div1); | |
| 115 div1.nodes.add(div2); | |
| 116 }, expectation); | |
| 117 }); | |
| 118 | |
| 119 test('subtree options-named', () { | 89 test('subtree options-named', () { |
| 120 expect(() { | 90 expect(() { |
| 121 var container = new DivElement(); | 91 var container = new DivElement(); |
| 122 var div1 = new DivElement(); | 92 var div1 = new DivElement(); |
| 123 var div2 = new DivElement(); | 93 var div2 = new DivElement(); |
| 124 var mutationObserver = new MutationObserver( | 94 var mutationObserver = new MutationObserver( |
| 125 mutationCallback(2, orderedEquals([div1, div2]))); | 95 mutationCallback(2, orderedEquals([div1, div2]))); |
| 126 mutationObserver.observe(container, childList: true, subtree: true); | 96 mutationObserver.observe(container, childList: true, subtree: true); |
| 127 | 97 |
| 128 container.nodes.add(div1); | 98 container.nodes.add(div1); |
| 129 div1.nodes.add(div2); | 99 div1.nodes.add(div2); |
| 130 }, expectation); | 100 }, expectation); |
| 131 }); | 101 }); |
| 132 | 102 |
| 133 test('mutation event', () { | 103 test('mutation event', () { |
| 134 // Bug 8076 that not all optional params are optional in Dartium. | 104 // Bug 8076 that not all optional params are optional in Dartium. |
| 135 var event = new MutationEvent('something', prevValue: 'prev', | 105 var event = new MutationEvent('something', prevValue: 'prev', |
| 136 newValue: 'new', attrName: 'attr'); | 106 newValue: 'new', attrName: 'attr'); |
| 137 expect(event is MutationEvent, isTrue); | 107 expect(event is MutationEvent, isTrue); |
| 138 expect(event.prevValue, 'prev'); | 108 expect(event.prevValue, 'prev'); |
| 139 expect(event.newValue, 'new'); | 109 expect(event.newValue, 'new'); |
| 140 expect(event.attrName, 'attr'); | 110 expect(event.attrName, 'attr'); |
| 141 }); | 111 }); |
| 142 }); | 112 }); |
| 143 } | 113 } |
| OLD | NEW |