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

Unified Diff: pkg/observe/test/observable_map_test.dart

Issue 27618002: package:observe fix various api issues (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/observe/test/observable_list_test.dart ('k') | pkg/observe/test/observe_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/observe/test/observable_map_test.dart
diff --git a/pkg/observe/test/observable_map_test.dart b/pkg/observe/test/observable_map_test.dart
index ce04f1b102ac1963006fd4874f045ffcc1855724..c7ac0cff61272f1ea8ebc1924bede058d8248384 100644
--- a/pkg/observe/test/observable_map_test.dart
+++ b/pkg/observe/test/observable_map_test.dart
@@ -27,7 +27,7 @@ main() {
map = toObservable({'a': 1, 'b': 2, 'c': 3});
changes = null;
sub = map.changes.listen((records) {
- changes = records.where((r) => r.changes(#length)).toList();
+ changes = getPropertyChangeRecords(records, #length);
});
});
@@ -37,14 +37,14 @@ main() {
map['d'] = 4;
expect(map, {'a': 1, 'b': 2, 'c': 3, 'd': 4});
performMicrotaskCheckpoint();
- expectChanges(changes, [_lengthChange]);
+ expectChanges(changes, [_lengthChange(map, 3, 4)]);
});
observeTest('putIfAbsent changes length', () {
map.putIfAbsent('d', () => 4);
expect(map, {'a': 1, 'b': 2, 'c': 3, 'd': 4});
performMicrotaskCheckpoint();
- expectChanges(changes, [_lengthChange]);
+ expectChanges(changes, [_lengthChange(map, 3, 4)]);
});
observeTest('remove changes length', () {
@@ -52,7 +52,10 @@ main() {
map.remove('a');
expect(map, {'b': 2});
performMicrotaskCheckpoint();
- expectChanges(changes, [_lengthChange, _lengthChange]);
+ expectChanges(changes, [
+ _lengthChange(map, 3, 2),
+ _lengthChange(map, 2, 1)
+ ]);
});
observeTest('remove non-existent item does not change length', () {
@@ -73,7 +76,7 @@ main() {
map.clear();
expect(map, {});
performMicrotaskCheckpoint();
- expectChanges(changes, [_lengthChange]);
+ expectChanges(changes, [_lengthChange(map, 3, 0)]);
});
});
@@ -86,7 +89,8 @@ main() {
map = toObservable({'a': 1, 'b': 2, 'c': 3});
changes = null;
sub = map.changes.listen((records) {
- changes = records.where((r) => r.changes('b')).toList();
+ changes = records.where((r) => r is MapChangeRecord && r.key == 'b')
+ .toList();
});
});
@@ -103,14 +107,14 @@ main() {
map['b'] = null;
expect(map, {'a': 1, 'b': null, 'c': 3});
performMicrotaskCheckpoint();
- expectChanges(changes, [_change('b')]);
+ expectChanges(changes, [_changeKey('b', 2, null)]);
});
observeTest('set item to value', () {
map['b'] = 777;
expect(map, {'a': 1, 'b': 777, 'c': 3});
performMicrotaskCheckpoint();
- expectChanges(changes, [_change('b')]);
+ expectChanges(changes, [_changeKey('b', 2, 777)]);
});
observeTest('putIfAbsent does not change if already there', () {
@@ -132,7 +136,10 @@ main() {
map['b'] = 42;
expect(map, {'a': 1, 'b': 42, 'c': 3});
performMicrotaskCheckpoint();
- expectChanges(changes, [_change('b'), _change('b')]);
+ expectChanges(changes, [
+ _changeKey('b', 2, 9001),
+ _changeKey('b', 9001, 42)
+ ]);
});
observeTest('remove other items', () {
@@ -146,7 +153,7 @@ main() {
map.remove('b');
expect(map, {'a': 1, 'c': 3});
performMicrotaskCheckpoint();
- expectChanges(changes, [_change('b', isRemove: true)]);
+ expectChanges(changes, [_removeKey('b', 2)]);
});
observeTest('remove and add back', () {
@@ -155,7 +162,7 @@ main() {
expect(map, {'a': 1, 'b': 2, 'c': 3});
performMicrotaskCheckpoint();
expectChanges(changes,
- [_change('b', isRemove: true), _change('b', isInsert: true)]);
+ [_removeKey('b', 2), _insertKey('b', 2)]);
});
});
@@ -206,8 +213,8 @@ main() {
performMicrotaskCheckpoint();
expectChanges(records, [
- _lengthChange,
- _change('c', isInsert: true),
+ _lengthChange(map, 2, 3),
+ _insertKey('c', 3),
]);
});
@@ -220,9 +227,9 @@ main() {
performMicrotaskCheckpoint();
expectChanges(records, [
- _change('a'),
- _lengthChange,
- _change('c', isInsert: true)
+ _changeKey('a', 1, 42),
+ _lengthChange(map, 2, 3),
+ _insertKey('c', 3)
]);
});
@@ -232,8 +239,8 @@ main() {
performMicrotaskCheckpoint();
expectChanges(records, [
- _change('b', isRemove: true),
- _lengthChange,
+ _removeKey('b', 2),
+ _lengthChange(map, 2, 1),
]);
});
@@ -243,15 +250,19 @@ main() {
performMicrotaskCheckpoint();
expectChanges(records, [
- _change('a', isRemove: true),
- _change('b', isRemove: true),
- _lengthChange,
+ _removeKey('a', 1),
+ _removeKey('b', 2),
+ _lengthChange(map, 2, 0),
]);
});
});
}
-final _lengthChange = new PropertyChangeRecord(#length);
+_lengthChange(map, int oldValue, int newValue) =>
+ new PropertyChangeRecord(map, #length, oldValue, newValue);
+
+_changeKey(key, old, newValue) => new MapChangeRecord(key, old, newValue);
+
+_insertKey(key, newValue) => new MapChangeRecord.insert(key, newValue);
-_change(key, {isInsert: false, isRemove: false}) =>
- new MapChangeRecord(key, isInsert: isInsert, isRemove: isRemove);
+_removeKey(key, oldValue) => new MapChangeRecord.remove(key, oldValue);
« no previous file with comments | « pkg/observe/test/observable_list_test.dart ('k') | pkg/observe/test/observe_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698