Skip to content

Commit f17c50b

Browse files
authored
- (#7588)
1 parent b0035fe commit f17c50b

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

packages/devtools_app/lib/src/screens/memory/shared/heap/class_filter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ class ClassFilter {
220220

221221
// Return previous data if filter is identical.
222222
final task = newFilter.task(previous: oldFilter);
223-
if (task == FilteringTask.doNothing) return original;
223+
if (task == FilteringTask.doNothing) return oldFiltered!;
224224

225225
final Iterable<T> dataToFilter;
226226
if (task == FilteringTask.refilter) {

packages/devtools_app/test/memory/shared/heap/class_filter_test.dart

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,39 @@ void main() {
2828
expect(filter.filters, {'f1', 'f2', 'f3'});
2929
});
3030

31-
test('$ClassFilter.filter filters.', () {
32-
final filter = ClassFilter(
31+
test('$ClassFilter.filter is noop when not selected filter changes.', () {
32+
final filter1 = ClassFilter(
3333
filterType: ClassFilterType.except,
3434
except: 'class1, library2, library3/class3',
3535
only: '',
3636
);
3737

38-
final result = ClassFilter.filter(
38+
final result1 = ClassFilter.filter(
3939
oldFilter: null,
40-
newFilter: filter,
40+
newFilter: filter1,
4141
oldFiltered: null,
4242
original: _data,
4343
extractClass: (c) => c,
4444
rootPackage: null,
4545
);
4646

47-
expect(result, [_class4]);
47+
expect(result1, [_class4]);
48+
49+
final filter2 = ClassFilter(
50+
filterType: ClassFilterType.except,
51+
except: filter1.except,
52+
only: 'something',
53+
);
54+
55+
final result2 = ClassFilter.filter(
56+
oldFilter: filter1,
57+
newFilter: filter2,
58+
oldFiltered: result1,
59+
original: _data,
60+
extractClass: (c) => c,
61+
rootPackage: null,
62+
);
63+
64+
expect(result2, result1);
4865
});
4966
}

0 commit comments

Comments
 (0)