Index: client/tests/client/observable/ObservableListTests.dart |
=================================================================== |
--- client/tests/client/observable/ObservableListTests.dart (revision 4144) |
+++ client/tests/client/observable/ObservableListTests.dart (working copy) |
@@ -1,118 +0,0 @@ |
-// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-testObservableList() { |
- test('ObservableList', () { |
- final arr = new ObservableList<int>(); |
- |
- // Add some initial data before listening |
- arr.add(1); |
- arr.add(2); |
- arr.add(3); |
- arr.add(1); |
- arr.add(3); |
- arr.add(4); |
- |
- expect(arr).equalsCollection([1, 2, 3, 1, 3, 4]); |
- |
- // Add a listener that saves the events |
- EventSummary res = null; |
- arr.addChangeListener((summary) { |
- expect(res).isNull(); |
- res = summary; |
- expect(res).isNotNull(); |
- }); |
- |
- // execute some code with readonly operations only |
- expect(res).isNull(); |
- bool called = false; |
- EventBatch.wrap((e) { |
- expect(arr.length).equals(6); |
- expect(arr[0]).equals(1); |
- // TODO(sigmund): why we need write startIndex? it should be optional. |
- expect(arr.indexOf(4, 0)).equals(5); |
- expect(arr.indexOf(1, 0)).equals(0); |
- expect(arr.indexOf(1, 1)).equals(3); |
- // TODO(rnystrom): Get rid of second arg when lastIndexOf has default. |
- expect(arr.lastIndexOf(1, arr.length - 1)).equals(3); |
- expect(arr.last()).equals(4); |
- final copy = new List<int>(); |
- arr.forEach(f(i) { |
- copy.add(i); |
- }); |
- expect(copy).equalsCollection([1, 2, 3, 1, 3, 4]); |
- called = true; |
- })(null); |
- expect(called).isTrue(); |
- expect(res).isNull(); // no change from read-only operators |
- |
- // execute some code with mutations |
- expect(res).isNull(); |
- called = false; |
- expect(arr).equalsCollection([1, 2, 3, 1, 3, 4]); |
- EventBatch.wrap((e) { |
- arr.add(5); // 1 2 3 1 3 4(5) |
- arr.add(6); // 1 2 3 1 3 4 5(6) |
- arr[1] = arr[arr.length - 1]; // 1(6)3 1 3 4 5 6 |
- arr.add(7); // 1 6 3 1 3 4 5 6(7) |
- arr[5] = arr[8]; // 1 6 3 1 3(7)5 6 7 |
- arr.add(42); // 1 6 3 1 3 7 5 6 7(42) |
- expect(arr.removeAt(3)).equals(1); // 1 6 3( )3 7 5 6 7 42 |
- expect(arr.removeFirstElement(3)).isTrue(); // 1 6( ) 3 7 5 6 7 42 |
- expect(arr.removeLast()).equals(42); // 1 6 3 7 5 6 7( ) |
- expect(arr.removeAllElements(6)).equals(2); // 1( ) 3 7 5( )7 |
- called = true; |
- })(null); |
- expect(called).isTrue(); |
- expect(res).isNotNull(); |
- expect(res.events.length).equals(11); |
- validateInsert(res.events[0], arr, null, 6, 5); |
- validateInsert(res.events[1], arr, null, 7, 6); |
- validateUpdate(res.events[2], arr, null, 1, 6, 2); |
- validateInsert(res.events[3], arr, null, 8, 7); |
- validateUpdate(res.events[4], arr, null, 5, 7, 4); |
- validateInsert(res.events[5], arr, null, 9, 42); |
- validateRemove(res.events[6], arr, null, 3, 1); |
- validateRemove(res.events[7], arr, null, 2, 3); |
- validateRemove(res.events[8], arr, null, 7, 42); |
- validateRemove(res.events[9], arr, null, 1, 6); |
- validateRemove(res.events[10], arr, null, 4, 6); |
- expect(arr).equalsCollection([1, 3, 7, 5, 7]); |
- |
- res = null; |
- expect(res).isNull(); |
- called = false; |
- // execute global mutations like sort and clear |
- EventBatch.wrap((e) { |
- arr.add(1); |
- arr.add(4); |
- arr.add(10); |
- arr.add(9); |
- arr.sort(int compare(int a, int b) { return a - b; }); |
- called = true; |
- })(null); |
- expect(called).isTrue(); |
- expect(res).isNotNull(); |
- expect(res.events.length).equals(5); |
- validateInsert(res.events[0], arr, null, 5, 1); |
- validateInsert(res.events[1], arr, null, 6, 4); |
- validateInsert(res.events[2], arr, null, 7, 10); |
- validateInsert(res.events[3], arr, null, 8, 9); |
- validateGlobal(res.events[4], arr); |
- expect(arr).equalsCollection([1, 1, 3, 4, 5, 7, 7, 9, 10]); |
- |
- res = null; |
- expect(res).isNull(); |
- called = false; |
- EventBatch.wrap((e) { |
- arr.clear(); |
- called = true; |
- })(null); |
- expect(called).isTrue(); |
- expect(res).isNotNull(); |
- expect(res.events.length).equals(1); |
- validateGlobal(res.events[0], arr); |
- expect(arr).equalsCollection([]); |
- }); |
-} |