Merge pull request #65 from MichaelRFairhurst/fix-await-void

Fix places awaiting void, for dart 2.
diff --git a/lib/src/async_cache.dart b/lib/src/async_cache.dart
index 8c25267..53084ca 100644
--- a/lib/src/async_cache.dart
+++ b/lib/src/async_cache.dart
@@ -37,13 +37,6 @@
   /// Fires when the cache should be considered stale.
   Timer _stale;
 
-  /// Creates a cache that invalidates after an in-flight request is complete.
-  ///
-  /// An ephemeral cache guarantees that a callback function will only be
-  /// executed at most once concurrently. This is useful for requests for which
-  /// data is updated frequently but stale data is acceptable.
-  factory AsyncCache.ephemeral() => new AsyncCache(Duration.zero);
-
   /// Creates a cache that invalidates its contents after [duration] has passed.
   ///
   /// The [duration] starts counting after the Future returned by [fetch]
@@ -51,6 +44,13 @@
   /// event.
   AsyncCache(this._duration);
 
+  /// Creates a cache that invalidates after an in-flight request is complete.
+  ///
+  /// An ephemeral cache guarantees that a callback function will only be
+  /// executed at most once concurrently. This is useful for requests for which
+  /// data is updated frequently but stale data is acceptable.
+  factory AsyncCache.ephemeral() => new AsyncCache(Duration.zero);
+
   /// Returns a cached value from a previous call to [fetch], or runs [callback]
   /// to compute a new one.
   ///
@@ -90,7 +90,9 @@
 
   /// Removes any cached value.
   void invalidate() {
+    // TODO: This does not return a future, but probably should.
     _cachedValueFuture = null;
+    // TODO: This does not await, but probably should.
     _cachedStreamSplitter?.close();
     _cachedStreamSplitter = null;
     _stale?.cancel();
diff --git a/test/async_cache_test.dart b/test/async_cache_test.dart
index 747835b..a4f452f 100644
--- a/test/async_cache_test.dart
+++ b/test/async_cache_test.dart
@@ -32,7 +32,7 @@
     var completer = new Completer<String>();
     expect(cache.fetch(() => completer.future), completion('Expensive'));
     expect(cache.fetch(expectAsync0(() {}, count: 0)), completion('Expensive'));
-    await completer.complete('Expensive');
+    completer.complete('Expensive');
   });
 
   test('should fetch via a callback again when cache expires', () {
@@ -58,9 +58,9 @@
     var timesCalled = 0;
     call() async => 'Called ${++timesCalled}';
     expect(await cache.fetch(call), 'Called 1');
-    await cache.invalidate();
+    cache.invalidate();
     expect(await cache.fetch(call), 'Called 2');
-    await cache.invalidate();
+    cache.invalidate();
     expect(await cache.fetch(call), 'Called 3');
   });
 
@@ -129,9 +129,9 @@
     }
 
     expect(await cache.fetchStream(call).toList(), ['Called 1']);
-    await cache.invalidate();
+    cache.invalidate();
     expect(await cache.fetchStream(call).toList(), ['Called 2']);
-    await cache.invalidate();
+    cache.invalidate();
     expect(await cache.fetchStream(call).toList(), ['Called 3']);
   });
 
diff --git a/test/stream_queue_test.dart b/test/stream_queue_test.dart
index 32cc505..37dedb9 100644
--- a/test/stream_queue_test.dart
+++ b/test/stream_queue_test.dart
@@ -517,8 +517,8 @@
         expect(await events.next, 1);
         expect(controller.hasListener, isTrue);
 
-        events.cancel(immediate: true);
-        await expect(controller.hasListener, isFalse);
+        await events.cancel(immediate: true);
+        expect(controller.hasListener, isFalse);
       });
 
       test("cancels the underlying subscription when called before any event",