// Copyright 2014 The Flutter Authors. 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:flutter_tools/src/base/utils.dart'; import '../src/common.dart'; void main() { group('ItemListNotifier', () { test('sends notifications', () async { final ItemListNotifier list = ItemListNotifier(); expect(list.items, isEmpty); final Future> addedStreamItems = list.onAdded.toList(); final Future> removedStreamItems = list.onRemoved.toList(); list.updateWithNewList(['aaa']); list.updateWithNewList(['aaa', 'bbb']); list.updateWithNewList(['bbb']); list.dispose(); final List addedItems = await addedStreamItems; final List removedItems = await removedStreamItems; expect(addedItems.length, 2); expect(addedItems.first, 'aaa'); expect(addedItems[1], 'bbb'); expect(removedItems.length, 1); expect(removedItems.first, 'aaa'); }); }); }