Observatory strong mode fix: clean up port mocking.

Change-Id: If2077620c0243838587d8d689a74f37c54b19c08
Reviewed-on: https://dart-review.googlesource.com/57360
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
diff --git a/runtime/observatory/tests/observatory_ui/mocks/objects/ports.dart b/runtime/observatory/tests/observatory_ui/mocks/objects/ports.dart
index b7fc2de..2149a4f 100644
--- a/runtime/observatory/tests/observatory_ui/mocks/objects/ports.dart
+++ b/runtime/observatory/tests/observatory_ui/mocks/objects/ports.dart
@@ -4,16 +4,23 @@
 
 part of mocks;
 
-class PortsMock implements M.Ports {
-  final Iterable<M.Port> elements;
+class PortsAndHandlesMock implements M.Ports, M.PersistentHandles {
+  final Iterable<PortMock> elements;
 
-  const PortsMock({this.elements: const []});
+  const PortsAndHandlesMock({this.elements: const []});
+
+  @override
+  Iterable<M.WeakPersistentHandle> get weakElements =>
+      throw new UnimplementedError();
 }
 
-class PortMock implements M.Port {
+class PortMock implements M.Port, M.PersistentHandle {
   final String name;
   final M.ObjectRef handler;
 
   const PortMock(
       {this.name: 'port-name', this.handler: const InstanceRefMock()});
+
+  @override
+  M.ObjectRef get object => throw new UnimplementedError();
 }
diff --git a/runtime/observatory/tests/observatory_ui/mocks/repositories/persistent_handles.dart b/runtime/observatory/tests/observatory_ui/mocks/repositories/persistent_handles.dart
index b37b21f..518381d 100644
--- a/runtime/observatory/tests/observatory_ui/mocks/repositories/persistent_handles.dart
+++ b/runtime/observatory/tests/observatory_ui/mocks/repositories/persistent_handles.dart
@@ -14,7 +14,7 @@
     if (_getter != null) {
       return _getter(i);
     }
-    return new Future.value(new PortsMock());
+    return new Future.value(new PortsAndHandlesMock());
   }
 
   PersistentHandlesRepositoryMock(
diff --git a/runtime/observatory/tests/observatory_ui/mocks/repositories/ports.dart b/runtime/observatory/tests/observatory_ui/mocks/repositories/ports.dart
index 273d40b..8bdbe4d 100644
--- a/runtime/observatory/tests/observatory_ui/mocks/repositories/ports.dart
+++ b/runtime/observatory/tests/observatory_ui/mocks/repositories/ports.dart
@@ -13,7 +13,7 @@
     if (_getter != null) {
       return _getter(i);
     }
-    return new Future.value(new PortsMock());
+    return new Future.value(new PortsAndHandlesMock());
   }
 
   PortsRepositoryMock({PortsRepositoryMockGetter getter}) : _getter = getter;
diff --git a/runtime/observatory/tests/observatory_ui/ports/element_test.dart b/runtime/observatory/tests/observatory_ui/ports/element_test.dart
index a78a6d2..f614a53 100644
--- a/runtime/observatory/tests/observatory_ui/ports/element_test.dart
+++ b/runtime/observatory/tests/observatory_ui/ports/element_test.dart
@@ -28,7 +28,7 @@
       const PortMock(name: 'port-2'),
       const PortMock(name: 'port-3')
     ];
-    const isolatePorts = const PortsMock(elements: elements);
+    const isolatePorts = const PortsAndHandlesMock(elements: elements);
     final ports = new PortsRepositoryMock(
         getter: expectAsync((i) async {
       expect(i, equals(isolate));