| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2015, the Dart project authors.  Please see the AUTHORS file | 
|  | 2 // for details. All rights reserved. Use of this source code is governed by a | 
|  | 3 // BSD-style license that can be found in the LICENSE file. | 
|  | 4 | 
|  | 5 import 'dart:async'; | 
|  | 6 | 
|  | 7 import 'package:async/async.dart'; | 
|  | 8 import 'package:test/test.dart'; | 
|  | 9 | 
|  | 10 main() { | 
|  | 11   var cache; | 
|  | 12   setUp(() => cache = new AsyncMemoizer()); | 
|  | 13 | 
|  | 14   test("runs the function only the first time runOnce() is called", () async { | 
|  | 15     var count = 0; | 
|  | 16     expect(await cache.runOnce(() => count++), equals(0)); | 
|  | 17     expect(count, equals(1)); | 
|  | 18 | 
|  | 19     expect(await cache.runOnce(() => count++), equals(0)); | 
|  | 20     expect(count, equals(1)); | 
|  | 21   }); | 
|  | 22 | 
|  | 23   test("forwards the return value from the function", () async { | 
|  | 24     expect(cache.runOnce(() => "value"), completion(equals("value"))); | 
|  | 25     expect(cache.runOnce(() {}), completion(equals("value"))); | 
|  | 26   }); | 
|  | 27 | 
|  | 28   test("forwards the return value from an async function", () async { | 
|  | 29     expect(cache.runOnce(() async => "value"), completion(equals("value"))); | 
|  | 30     expect(cache.runOnce(() {}), completion(equals("value"))); | 
|  | 31   }); | 
|  | 32 | 
|  | 33   test("forwards the error from an async function", () async { | 
|  | 34     expect(cache.runOnce(() async => throw "error"), throwsA("error")); | 
|  | 35     expect(cache.runOnce(() {}), throwsA("error")); | 
|  | 36   }); | 
|  | 37 } | 
| OLD | NEW | 
|---|