Index: packages/observable/test/observable_list_test.dart |
diff --git a/packages/observe/test/observable_list_test.dart b/packages/observable/test/observable_list_test.dart |
similarity index 78% |
rename from packages/observe/test/observable_list_test.dart |
rename to packages/observable/test/observable_list_test.dart |
index adc6e402ebb5e9b29609f4ee713e5211aed9e9f6..0a29fa3f5776e651b4fefa478f735ca2b4c801cc 100644 |
--- a/packages/observe/test/observable_list_test.dart |
+++ b/packages/observable/test/observable_list_test.dart |
@@ -1,13 +1,15 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// Copyright (c) 2016, 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. |
import 'dart:async'; |
-import 'package:observe/observe.dart'; |
-import 'package:unittest/unittest.dart'; |
-import 'observe_test_utils.dart'; |
-main() => dirtyCheckZone().run(_runTests); |
+import 'package:observable/observable.dart'; |
+import 'package:test/test.dart'; |
+ |
+import 'observable_test_utils.dart'; |
+ |
+main() => _runTests(); |
_runTests() { |
// TODO(jmesserly): need all standard List API tests. |
@@ -24,12 +26,11 @@ _runTests() { |
} |
group('observe length', () { |
- |
ObservableList list; |
List<ChangeRecord> changes; |
setUp(() { |
- list = toObservable([1, 2, 3]); |
+ list = toObservable([1, 2, 3]) as ObservableList; |
changes = null; |
sub = list.changes.listen((records) { |
changes = getPropertyChangeRecords(records, #length); |
@@ -46,7 +47,7 @@ _runTests() { |
}); |
}); |
- test('removeObject', () { |
+ test('removeObject changes length', () { |
list.remove(2); |
expect(list, orderedEquals([1, 3])); |
@@ -93,9 +94,9 @@ _runTests() { |
List<ListChangeRecord> changes; |
setUp(() { |
- list = toObservable([1, 2, 3]); |
+ list = toObservable([1, 2, 3]) as ObservableList; |
changes = null; |
- sub = list.listChanges.listen((records) { |
+ sub = list.listChanges.listen((List<ListChangeRecord> records) { |
changes = getListChangeRecords(records, 1); |
}); |
}); |
@@ -114,7 +115,9 @@ _runTests() { |
list[1] = 777; |
expect(list, [1, 777, 3]); |
return new Future(() { |
- expectChanges(changes, [_change(1, addedCount: 1, removed: [2])]); |
+ expectChanges(changes, [ |
+ _change(1, addedCount: 1, removed: [2]) |
+ ]); |
}); |
}); |
@@ -149,7 +152,9 @@ _runTests() { |
list.length = 1; |
expect(list, [1]); |
return new Future(() { |
- expectChanges(changes, [_change(1, removed: [2, 3])]); |
+ expectChanges(changes, [ |
+ _change(1, removed: [2, 3]) |
+ ]); |
}); |
}); |
@@ -180,16 +185,15 @@ _runTests() { |
}); |
group('change records', () { |
- |
List<ChangeRecord> propRecords; |
List<ListChangeRecord> listRecords; |
setUp(() { |
- list = toObservable([1, 2, 3, 1, 3, 4]); |
+ list = toObservable([1, 2, 3, 1, 3, 4]) as ObservableList; |
propRecords = null; |
listRecords = null; |
- sub = list.changes.listen((r) { propRecords = r; }); |
- sub2 = list.listChanges.listen((r) { listRecords = r; }); |
+ sub = list.changes.listen((r) => propRecords = r); |
+ sub2 = list.listChanges.listen((r) => listRecords = r); |
}); |
tearDown(sharedTearDown); |
@@ -203,7 +207,7 @@ _runTests() { |
expect(list.lastIndexOf(1), 3); |
expect(list.last, 4); |
var copy = new List<int>(); |
- list.forEach((i) { copy.add(i); }); |
+ list.forEach((int i) => copy.add(i)); |
expect(copy, orderedEquals([1, 2, 3, 1, 3, 4])); |
return new Future(() { |
// no change from read-only operators |
@@ -222,7 +226,7 @@ _runTests() { |
_lengthChange(6, 7), |
_lengthChange(7, 8), |
]); |
- expectChanges(listRecords, [ _change(6, addedCount: 2) ]); |
+ expectChanges(listRecords, [_change(6, addedCount: 2)]); |
}); |
}); |
@@ -232,7 +236,9 @@ _runTests() { |
return new Future(() { |
expectChanges(propRecords, null); |
- expectChanges(listRecords, [ _change(1, addedCount: 1, removed: [2]) ]); |
+ expectChanges(listRecords, [ |
+ _change(1, addedCount: 1, removed: [2]) |
+ ]); |
}); |
}); |
@@ -242,7 +248,9 @@ _runTests() { |
return new Future(() { |
expectChanges(propRecords, [_lengthChange(6, 5)]); |
- expectChanges(listRecords, [_change(5, removed: [4])]); |
+ expectChanges(listRecords, [ |
+ _change(5, removed: [4]) |
+ ]); |
}); |
}); |
@@ -252,7 +260,9 @@ _runTests() { |
return new Future(() { |
expectChanges(propRecords, [_lengthChange(6, 3)]); |
- expectChanges(listRecords, [_change(1, removed: [2, 3, 1])]); |
+ expectChanges(listRecords, [ |
+ _change(1, removed: [2, 3, 1]) |
+ ]); |
}); |
}); |
@@ -273,7 +283,8 @@ _runTests() { |
var list = toObservable([3, 1]); |
// Dummy listener to record changes. |
// TODO(jmesserly): should we just record changes always, to support the sync api? |
- sub = list.listChanges.listen((records) => null); |
+ sub = list.listChanges.listen((List<ListChangeRecord> records) => null) |
+ as StreamSubscription; |
list.sort(); |
expect(list.deliverListChanges(), true); |
list.sort(); |
@@ -281,18 +292,20 @@ _runTests() { |
list.sort(); |
expect(list.deliverListChanges(), false); |
}); |
- |
+ |
test('clear', () { |
list.clear(); |
expect(list, []); |
return new Future(() { |
expectChanges(propRecords, [ |
- _lengthChange(6, 0), |
- new PropertyChangeRecord(list, #isEmpty, false, true), |
- new PropertyChangeRecord(list, #isNotEmpty, true, false), |
+ _lengthChange(6, 0), |
+ new PropertyChangeRecord(list, #isEmpty, false, true), |
+ new PropertyChangeRecord(list, #isNotEmpty, true, false), |
+ ]); |
+ expectChanges(listRecords, [ |
+ _change(0, removed: [1, 2, 3, 1, 3, 4]) |
]); |
- expectChanges(listRecords, [_change(0, removed: [1, 2, 3, 1, 3, 4])]); |
}); |
}); |
}); |
@@ -300,9 +313,8 @@ _runTests() { |
ObservableList list; |
-_lengthChange(int oldValue, int newValue) => |
+PropertyChangeRecord _lengthChange(int oldValue, int newValue) => |
new PropertyChangeRecord(list, #length, oldValue, newValue); |
-_change(index, {removed: const [], addedCount: 0}) => new ListChangeRecord( |
- list, index, removed: removed, addedCount: addedCount); |
- |
+_change(int index, {List removed: const [], int addedCount: 0}) => |
+ new ListChangeRecord(list, index, removed: removed, addedCount: addedCount); |