| Index: runtime/observatory/lib/src/mocks/repositories/notification.dart
|
| diff --git a/runtime/observatory/lib/src/mocks/repositories/notification.dart b/runtime/observatory/lib/src/mocks/repositories/notification.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cf7f2b9e4335f8271ec3259b4703f30e39dcedf7
|
| --- /dev/null
|
| +++ b/runtime/observatory/lib/src/mocks/repositories/notification.dart
|
| @@ -0,0 +1,58 @@
|
| +// 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
|
| +
|
| +part of mocks;
|
| +
|
| +class NotificationChangeEventMock implements M.NotificationChangeEvent {
|
| + final NotificationRepositoryMock repository;
|
| + const NotificationChangeEventMock({this.repository});
|
| +}
|
| +
|
| +typedef void NotificationRepositoryMockCallback(M.Notification notification);
|
| +
|
| +class NotificationRepositoryMock implements M.NotificationRepository {
|
| + final StreamController<M.NotificationChangeEvent> _onChange =
|
| + new StreamController<M.NotificationChangeEvent>.broadcast();
|
| + Stream<M.NotificationChangeEvent> get onChange => _onChange.stream;
|
| +
|
| + bool get hasListeners => _onChange.hasListener;
|
| +
|
| + final Iterable<M.Notification> _list;
|
| + final NotificationRepositoryMockCallback _add;
|
| + final NotificationRepositoryMockCallback _delete;
|
| +
|
| + bool addInvoked = false;
|
| + bool listInvoked = false;
|
| + bool deleteInvoked = false;
|
| + bool deleteAllInvoked = false;
|
| +
|
| +
|
| + void add(M.Notification notification) {
|
| + addInvoked = true;
|
| + if (_add != null) _add(notification);
|
| + }
|
| +
|
| + Iterable<M.Notification> list() {
|
| + listInvoked = true;
|
| + return _list;
|
| + }
|
| +
|
| + void delete(M.Notification notification) {
|
| + deleteInvoked = true;
|
| + if (_add != null) _delete(notification);
|
| + }
|
| +
|
| + void deleteAll() { deleteAllInvoked = true; }
|
| +
|
| + void triggerChangeEvent() {
|
| + _onChange.add(new NotificationChangeEventMock(repository: this));
|
| + }
|
| +
|
| + NotificationRepositoryMock({Iterable<M.Notification> list : const [],
|
| + NotificationRepositoryMockCallback add,
|
| + NotificationRepositoryMockCallback delete})
|
| + : _list = list,
|
| + _add = add,
|
| + _delete = delete;
|
| +}
|
|
|