Skip to content

Commit

Permalink
Merge pull request #75 from BlackHC/for_await
Browse files Browse the repository at this point in the history
Use for ... await ... toList instead of await for
  • Loading branch information
goderbauer authored Jul 18, 2016
2 parents 074bf19 + 2ed3c08 commit 15a9cc3
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 14 deletions.
8 changes: 5 additions & 3 deletions dart/async/lib/html.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ class _HtmlMouse implements PageLoaderMouse {
int get pageY => window.pageYOffset + clientY;
int get _borderWidth => (window.outerWidth - window.innerWidth) ~/ 2;
int get screenX => window.screenLeft + _borderWidth + clientX;
int get screenY => window.screenTop +
int get screenY =>
window.screenTop +
window.outerHeight -
window.innerHeight -
_borderWidth +
Expand Down Expand Up @@ -172,7 +173,8 @@ abstract class HtmlPageLoaderElement implements PageLoaderElement {
int get hashCode => node.hashCode;

@override
bool operator ==(other) => other != null &&
bool operator ==(other) =>
other != null &&
other.runtimeType == runtimeType &&
other.node == node &&
other.loader == loader;
Expand Down Expand Up @@ -294,7 +296,7 @@ class _ElementPageLoaderElement extends HtmlPageLoaderElement {
if (node is SvgElement) {
return _microtask(() =>
node.dispatchEvent(new Event.eventType('MouseEvent', 'click')));
}
}

return _microtask(node.click);
}, sync);
Expand Down
5 changes: 3 additions & 2 deletions dart/async/lib/src/annotations.dart
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ class InShadowDom implements Finder {

@override
Stream<PageLoaderElement> findElements(PageLoaderElement context) async* {
await for (var el in of.findElements(context).map((e) => e.shadowRoot)) {
for (var el
in await of.findElements(context).map((e) => e.shadowRoot).toList()) {
yield* find.findElements(await el);
}
}
Expand Down Expand Up @@ -201,7 +202,7 @@ class Chain implements Finder {
elements = annotation.filter(elements);
} else if (annotation is Finder) {
elements = (els) async* {
await for (var el in els) {
for (var el in await els.toList()) {
yield* annotation.findElements(el);
}
}(elements);
Expand Down
11 changes: 6 additions & 5 deletions dart/async/lib/src/core.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ import 'package:stack_trace/stack_trace.dart' as st;
import 'annotations.dart';
import 'interfaces.dart';

bool _foldPredicate(st.Frame frame) => frame.isCore ||
bool _foldPredicate(st.Frame frame) =>
frame.isCore ||
frame.library.contains('package:test/') ||
frame.library.contains('package:pageloader/') ||
frame.library.contains('package:unittest/') ||
Expand Down Expand Up @@ -387,8 +388,8 @@ class _ListFieldInfo extends _FieldInfo {
}
var result = [];

await for (var el
in _getElements(context, _finder, _filters, displayCheck)) {
for (var el in await _getElements(context, _finder, _filters, displayCheck)
.toList()) {
result.add(await loader._getInstance(_instanceType, el, displayCheck));
}

Expand Down Expand Up @@ -431,7 +432,7 @@ Stream _getElements(PageLoaderElement context, Finder finder,
if (!displayCheck) {
yield* elements;
} else {
await for (var el in elements) {
for (var el in await elements.toList()) {
if (await el.displayed) {
yield el;
}
Expand All @@ -446,7 +447,7 @@ Future<PageLoaderElement> _getElement(PageLoaderElement context, Finder finder,

if (elements.isEmpty) {
if (!required) {
return null;
return null;
}
throw new StateError('No element for finder: $finder');
}
Expand Down
2 changes: 1 addition & 1 deletion dart/async/lib/src/interfaces.dart
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ abstract class ElementFilter implements Filter {

@override
Stream<PageLoaderElement> filter(Stream<PageLoaderElement> elements) async* {
await for (PageLoaderElement el in elements) {
for (PageLoaderElement el in await elements.toList()) {
if (await keep(el)) {
yield el;
}
Expand Down
6 changes: 4 additions & 2 deletions dart/async/lib/webdriver.dart
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,8 @@ abstract class WebDriverPageLoaderElement implements PageLoaderElement {
int get hashCode => context.hashCode;

@override
bool operator ==(Object other) => other != null &&
bool operator ==(Object other) =>
other != null &&
other.runtimeType == runtimeType &&
(other as WebDriverPageLoaderElement).context == context &&
(other as WebDriverPageLoaderElement).loader == loader;
Expand Down Expand Up @@ -230,7 +231,8 @@ class _WebElementPageLoaderElement extends WebDriverPageLoaderElement {

@override
Future<String> get innerText async => (await context.driver
.execute('return arguments[0].textContent;', [context])).trim();
.execute('return arguments[0].textContent;', [context]))
.trim();

@override
Future<String> get visibleText => context.text;
Expand Down
2 changes: 1 addition & 1 deletion dart/async/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: pageloader
version: 2.0.1
version: 2.0.2
author: Marc Fisher II <[email protected]>
description: >
Supports the creation of page objects that can be shared between in-browser tests
Expand Down

0 comments on commit 15a9cc3

Please sign in to comment.