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

Side by Side Diff: test/observe_test.dart

Issue 23532024: Changes in webui to comply with the safe html changes. Now that Nodes can be (Closed) Base URL: git@github.com:dart-lang/web-ui.git@master
Patch Set: Created 7 years, 3 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 | « test/data/input/escape3_test.html ('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 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /** Tests for some of the utility helper functions used by the compiler. */ 5 /** Tests for some of the utility helper functions used by the compiler. */
6 library observe_test; 6 library observe_test;
7 7
8 import 'dart:collection' show LinkedHashMap; 8 import 'dart:collection' show LinkedHashMap;
9 import 'package:unittest/compact_vm_config.dart'; 9 import 'package:unittest/compact_vm_config.dart';
10 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 583
584 group('ObservableSet', () { 584 group('ObservableSet', () {
585 // TODO(jmesserly): need all standard Set tests. 585 // TODO(jmesserly): need all standard Set tests.
586 586
587 test('observe length', () { 587 test('observe length', () {
588 var set = new ObservableSet<int>(); 588 var set = new ObservableSet<int>();
589 var notification = null; 589 var notification = null;
590 observe(() => set.length, (n) { notification = n; }); 590 observe(() => set.length, (n) { notification = n; });
591 591
592 set.addAll([1, 2, 3]); 592 set.addAll([1, 2, 3]);
593 expect(set, [1, 2, 3]); 593 expect(set, unorderedEquals([1, 2, 3]));
594 deliverChangesSync(); 594 deliverChangesSync();
595 expect(notification, _change(0, 3), reason: 'addAll changes length'); 595 expect(notification, _change(0, 3), reason: 'addAll changes length');
596 596
597 set.add(4); 597 set.add(4);
598 expect(set, [1, 2, 3, 4]); 598 expect(set, unorderedEquals([1, 2, 3, 4]));
599 deliverChangesSync(); 599 deliverChangesSync();
600 expect(notification, _change(3, 4), reason: 'add changes length'); 600 expect(notification, _change(3, 4), reason: 'add changes length');
601 601
602 set.removeAll([2, 3]); 602 set.removeAll([2, 3]);
603 expect(set, [1, 4]); 603 expect(set, unorderedEquals([1, 4]));
604 deliverChangesSync(); 604 deliverChangesSync();
605 expect(notification, _change(4, 2), reason: 'removeAll changes length'); 605 expect(notification, _change(4, 2), reason: 'removeAll changes length');
606 606
607 set.remove(1); 607 set.remove(1);
608 expect(set, [4]); 608 expect(set, [4]);
609 deliverChangesSync(); 609 deliverChangesSync();
610 expect(notification, _change(2, 1), reason: 'remove changes length'); 610 expect(notification, _change(2, 1), reason: 'remove changes length');
611 611
612 notification = null; 612 notification = null;
613 set.add(4); 613 set.add(4);
614 expect(set, [4]); 614 expect(set, [4]);
615 deliverChangesSync(); 615 deliverChangesSync();
616 expect(notification, null, reason: 'item already exists'); 616 expect(notification, null, reason: 'item already exists');
617 617
618 set.clear(); 618 set.clear();
619 expect(set, []); 619 expect(set, []);
620 deliverChangesSync(); 620 deliverChangesSync();
621 expect(notification, _change(1, 0), reason: 'clear changes length'); 621 expect(notification, _change(1, 0), reason: 'clear changes length');
622 }); 622 });
623 623
624 test('observe item', () { 624 test('observe item', () {
625 var set = new ObservableSet.from([1, 2, 3]); 625 var set = new ObservableSet.from([1, 2, 3]);
626 var notification = null; 626 var notification = null;
627 observe(() => set.contains(2), (n) { notification = n; }); 627 observe(() => set.contains(2), (n) { notification = n; });
628 628
629 set.add(4); 629 set.add(4);
630 expect(set, [1, 2, 3, 4]); 630 expect(set, unorderedEquals([1, 2, 3, 4]));
631 deliverChangesSync(); 631 deliverChangesSync();
632 expect(notification, null, reason: 'add does not change existing items'); 632 expect(notification, null, reason: 'add does not change existing items');
633 633
634 set.remove(3); 634 set.remove(3);
635 expect(set, [1, 2, 4]); 635 expect(set, unorderedEquals([1, 2, 4]));
636 expect(notification, null, 636 expect(notification, null,
637 reason: 'removing an item does not change other items'); 637 reason: 'removing an item does not change other items');
638 638
639 set.remove(2); 639 set.remove(2);
640 expect(set, [1, 4]); 640 expect(set, unorderedEquals([1, 4]));
641 deliverChangesSync(); 641 deliverChangesSync();
642 expect(notification, _change(true, false)); 642 expect(notification, _change(true, false));
643 643
644 notification = null; 644 notification = null;
645 set.removeAll([2, 3]); 645 set.removeAll([2, 3]);
646 expect(set, [1, 4]); 646 expect(set, unorderedEquals([1, 4]));
647 deliverChangesSync(); 647 deliverChangesSync();
648 expect(notification, null, reason: 'item already removed'); 648 expect(notification, null, reason: 'item already removed');
649 649
650 set.add(2); 650 set.add(2);
651 expect(set, [1, 2, 4]); 651 expect(set, unorderedEquals([1, 2, 4]));
652 deliverChangesSync(); 652 deliverChangesSync();
653 expect(notification, _change(false, true), reason: 'item added again'); 653 expect(notification, _change(false, true), reason: 'item added again');
654 }); 654 });
655 655
656 test('toString', () { 656 test('toString', () {
657 var original = new Set.from([1, 2, 3]); 657 var original = new Set.from([1, 2, 3]);
658 var set = new ObservableSet.from(original); 658 var set = new ObservableSet.from(original);
659 var notification = null; 659 var notification = null;
660 observe(() => set.toString(), (n) { notification = n; }); 660 observe(() => set.toString(), (n) { notification = n; });
661 set.add(4); 661 set.add(4);
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 var c = _change(123, 43); 870 var c = _change(123, 43);
871 expect(a.hashCode, b.hashCode, reason: 'a == b'); 871 expect(a.hashCode, b.hashCode, reason: 'a == b');
872 expect(b.hashCode, isNot(equals(c.hashCode)), reason: 'b != c'); 872 expect(b.hashCode, isNot(equals(c.hashCode)), reason: 'b != c');
873 }); 873 });
874 } 874 }
875 875
876 _change(oldValue, newValue) => new ChangeNotification(oldValue, newValue); 876 _change(oldValue, newValue) => new ChangeNotification(oldValue, newValue);
877 877
878 _record(type, key, oldValue, newValue) => 878 _record(type, key, oldValue, newValue) =>
879 new ChangeRecord(type, key, oldValue, newValue); 879 new ChangeRecord(type, key, oldValue, newValue);
OLDNEW
« no previous file with comments | « test/data/input/escape3_test.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698