switched return type of logs.get from Iterable to Stream
diff --git a/lib/src/logs.dart b/lib/src/logs.dart
index bae5c96..ec9b008 100644
--- a/lib/src/logs.dart
+++ b/lib/src/logs.dart
@@ -3,11 +3,20 @@
class Logs extends _WebDriverBase {
Logs._(driver) : super(driver, 'log');
- Future<Iterable<LogEntry>> get(String logType) async =>
- (await _post('', {'type': logType})).map(
- (entry) => new LogEntry.fromMap(entry));
-}
+ Stream<LogEntry> get(String logType) {
+ var controller = new StreamController<LogEntry>();
+ () async {
+ var entries = await _post('', {'type': logType});
+ for (var entry in entries) {
+ controller.add(new LogEntry.fromMap(entry));
+ }
+ await controller.close();
+ }();
+
+ return controller.stream;
+ }
+}
class LogEntry {
final String message;
final int timestamp;
diff --git a/test/src/logs_test.dart b/test/src/logs_test.dart
index 7c8e9b7..4474200 100644
--- a/test/src/logs_test.dart
+++ b/test/src/logs_test.dart
@@ -18,7 +18,7 @@
tearDown(() => driver.quit());
test('get logs', () async {
- Iterable<LogEntry> logs = await driver.logs.get(LogType.PERFORMANCE);
+ List<LogEntry> logs = await driver.logs.get(LogType.PERFORMANCE).toList();
expect(logs.length, greaterThan(0));
logs.forEach((entry) {
expect(entry.level, equals(LogLevel.INFO));