| 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 ElementTest; | 5 library ElementTest; |
| 6 import 'package:unittest/unittest.dart'; | 6 import 'package:unittest/unittest.dart'; |
| 7 import 'package:unittest/html_config.dart'; | 7 import 'package:unittest/html_config.dart'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 import 'dart:html'; | 9 import 'dart:html'; |
| 10 | 10 |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 test('length', () { | 122 test('length', () { |
| 123 expect(makeClassSet().length, 3); | 123 expect(makeClassSet().length, 3); |
| 124 expect(makeElement().classes.length, 0); | 124 expect(makeElement().classes.length, 0); |
| 125 }); | 125 }); |
| 126 | 126 |
| 127 test('contains', () { | 127 test('contains', () { |
| 128 expect(makeClassSet().contains('foo'), isTrue); | 128 expect(makeClassSet().contains('foo'), isTrue); |
| 129 expect(makeClassSet().contains('qux'), isFalse); | 129 expect(makeClassSet().contains('qux'), isFalse); |
| 130 }); | 130 }); |
| 131 | 131 |
| 132 test('contains-bad', () { | |
| 133 // Non-strings return `false`. | |
| 134 // Strings need to be valid tokens. | |
| 135 final classes = makeClassSet(); | |
| 136 expect(classes.contains(1), isFalse); | |
| 137 expect(() => classes.contains(''), throws); | |
| 138 expect(() => classes.contains('foo bar'), throws); | |
| 139 }); | |
| 140 | |
| 141 test('add', () { | 132 test('add', () { |
| 142 final classes = makeClassSet(); | 133 final classes = makeClassSet(); |
| 143 var added = classes.add('qux'); | 134 var added = classes.add('qux'); |
| 144 expect(added, isTrue); | 135 expect(added, isTrue); |
| 145 expect(classes, orderedEquals(['foo', 'bar', 'baz', 'qux'])); | 136 expect(classes, orderedEquals(['foo', 'bar', 'baz', 'qux'])); |
| 146 | 137 |
| 147 added = classes.add('qux'); | 138 added = classes.add('qux'); |
| 148 expect(added, isFalse); | 139 expect(added, isFalse); |
| 149 final list = new List.from(classes); | 140 final list = new List.from(classes); |
| 150 list.sort((a, b) => a.compareTo(b)); | 141 list.sort((a, b) => a.compareTo(b)); |
| 151 expect(list, orderedEquals(['bar', 'baz', 'foo', 'qux']), | 142 expect(list, orderedEquals(['bar', 'baz', 'foo', 'qux']), |
| 152 reason: "The class set shouldn't have duplicate elements."); | 143 reason: "The class set shouldn't have duplicate elements."); |
| 153 }); | 144 }); |
| 154 | 145 |
| 155 test('add-bad', () { | |
| 156 final classes = makeClassSet(); | |
| 157 expect(() => classes.add(''), throws); | |
| 158 expect(() => classes.add('foo bar'), throws); | |
| 159 }); | |
| 160 | |
| 161 test('remove', () { | 146 test('remove', () { |
| 162 final classes = makeClassSet(); | 147 final classes = makeClassSet(); |
| 163 classes.remove('bar'); | 148 classes.remove('bar'); |
| 164 expect(classes, orderedEquals(['foo', 'baz'])); | 149 expect(classes, orderedEquals(['foo', 'baz'])); |
| 165 classes.remove('qux'); | 150 classes.remove('qux'); |
| 166 expect(classes, orderedEquals(['foo', 'baz'])); | 151 expect(classes, orderedEquals(['foo', 'baz'])); |
| 167 }); | 152 }); |
| 168 | 153 |
| 169 test('remove-bad', () { | |
| 170 final classes = makeClassSet(); | |
| 171 expect(() => classes.remove(''), throws); | |
| 172 expect(() => classes.remove('foo bar'), throws); | |
| 173 }); | |
| 174 | |
| 175 test('toggle', () { | 154 test('toggle', () { |
| 176 final classes = makeClassSet(); | 155 final classes = makeClassSet(); |
| 177 classes.toggle('bar'); | 156 classes.toggle('bar'); |
| 178 expect(classes, orderedEquals(['foo', 'baz'])); | 157 expect(classes, orderedEquals(['foo', 'baz'])); |
| 179 classes.toggle('qux'); | 158 classes.toggle('qux'); |
| 180 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); | 159 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); |
| 181 | 160 |
| 182 classes.toggle('qux', true); | 161 classes.toggle('qux', true); |
| 183 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); | 162 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); |
| 184 classes.toggle('qux', false); | 163 classes.toggle('qux', false); |
| 185 expect(classes, orderedEquals(['foo', 'baz'])); | 164 expect(classes, orderedEquals(['foo', 'baz'])); |
| 186 classes.toggle('qux', false); | 165 classes.toggle('qux', false); |
| 187 expect(classes, orderedEquals(['foo', 'baz'])); | 166 expect(classes, orderedEquals(['foo', 'baz'])); |
| 188 classes.toggle('qux', true); | 167 classes.toggle('qux', true); |
| 189 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); | 168 expect(classes, orderedEquals(['foo', 'baz', 'qux'])); |
| 190 }); | 169 }); |
| 191 | 170 |
| 192 test('toggle-bad', () { | |
| 193 final classes = makeClassSet(); | |
| 194 expect(() => classes.toggle(''), throws); | |
| 195 expect(() => classes.toggle('', true), throws); | |
| 196 expect(() => classes.toggle('', false), throws); | |
| 197 expect(() => classes.toggle('foo bar'), throws); | |
| 198 expect(() => classes.toggle('foo bar', true), throws); | |
| 199 expect(() => classes.toggle('foo bar', false), throws); | |
| 200 }); | |
| 201 | |
| 202 test('addAll', () { | 171 test('addAll', () { |
| 203 final classes = makeClassSet(); | 172 final classes = makeClassSet(); |
| 204 classes.addAll(['bar', 'qux', 'bip']); | 173 classes.addAll(['bar', 'qux', 'bip']); |
| 205 expect(classes, orderedEquals(['foo', 'bar', 'baz', 'qux', 'bip'])); | 174 expect(classes, orderedEquals(['foo', 'bar', 'baz', 'qux', 'bip'])); |
| 206 }); | 175 }); |
| 207 | 176 |
| 208 test('removeAll', () { | 177 test('removeAll', () { |
| 209 final classes = makeClassSet(); | 178 final classes = makeClassSet(); |
| 210 classes.removeAll(['bar', 'baz', 'qux']); | 179 classes.removeAll(['bar', 'baz', 'qux']); |
| 211 expect(classes, orderedEquals(['foo'])); | 180 expect(classes, orderedEquals(['foo'])); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 expect(view(elements.classes), '[quux, qux]'); | 357 expect(view(elements.classes), '[quux, qux]'); |
| 389 expect(view(elements), '[[quux, qux], [], [], [qux]]'); | 358 expect(view(elements), '[[quux, qux], [], [], [qux]]'); |
| 390 }); | 359 }); |
| 391 | 360 |
| 392 test('listContainsAll', () { | 361 test('listContainsAll', () { |
| 393 var elements = listElementSetup(); | 362 var elements = listElementSetup(); |
| 394 expect(elements.classes.containsAll(['qux', 'meta', 'mornin']), isFalse); | 363 expect(elements.classes.containsAll(['qux', 'meta', 'mornin']), isFalse); |
| 395 expect(elements.classes.containsAll(['qux', 'lassy', 'classy']), isTrue); | 364 expect(elements.classes.containsAll(['qux', 'lassy', 'classy']), isTrue); |
| 396 }); | 365 }); |
| 397 } | 366 } |
| OLD | NEW |