diff --git a/.gitignore b/.gitignore index 7d006355..01d42c08 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,4 @@ -.DS_Store -packages +.dart_tool/ +.pub/ .packages pubspec.lock -.project -.pub/ -.buildlog -.settings/ -.idea/ -bazel-* diff --git a/lib/src/async/command_event.dart b/lib/src/async/command_event.dart index dea3df0d..0943369c 100644 --- a/lib/src/async/command_event.dart +++ b/lib/src/async/command_event.dart @@ -16,12 +16,12 @@ part of webdriver.core; class WebDriverCommandEvent { final String method; final String endPoint; - final params; + final Object params; final StackTrace stackTrace; final DateTime startTime; final DateTime endTime; - final exception; - final result; + final Object exception; + final Object result; WebDriverCommandEvent( {this.method, diff --git a/lib/src/async/common.dart b/lib/src/async/common.dart index c0203985..aeafb1fd 100644 --- a/lib/src/async/common.dart +++ b/lib/src/async/common.dart @@ -98,7 +98,7 @@ class By { @override String toString() { - var constructor; + String constructor; switch (_using) { case 'link text': constructor = 'linkText'; diff --git a/lib/src/async/options.dart b/lib/src/async/options.dart index eb664406..6ad53215 100644 --- a/lib/src/async/options.dart +++ b/lib/src/async/options.dart @@ -73,7 +73,7 @@ class Cookie { {this.path, this.domain, this.secure, this.expiry}); factory Cookie.fromJson(Map json) { - var expiry; + DateTime expiry; if (json['expiry'] is num) { expiry = new DateTime.fromMillisecondsSinceEpoch( json['expiry'].toInt() * 1000, diff --git a/lib/src/async/web_driver.dart b/lib/src/async/web_driver.dart index d34658ff..d08e26a9 100644 --- a/lib/src/async/web_driver.dart +++ b/lib/src/async/web_driver.dart @@ -250,7 +250,7 @@ class WebDriver implements SearchContext { } // This is an ugly hack, I know, but I dunno how to cleanly do this. - var _previousEvent; + WebDriverCommandEvent _previousEvent; // Performs the request. This will not notify any listeners or // onCommandController. This should only be called from @@ -264,8 +264,8 @@ class WebDriver implements SearchContext { (f) => f.library.startsWith('package:webdriver/'), terse: true); } - var result; - var exception; + Object result; + Object exception; try { if (stepper == null || await stepper.step(method, command, params)) { result = await fn(); diff --git a/lib/src/sync/command_event.dart b/lib/src/sync/command_event.dart index 1fde2e17..2e7e0df3 100644 --- a/lib/src/sync/command_event.dart +++ b/lib/src/sync/command_event.dart @@ -15,12 +15,12 @@ class WebDriverCommandEvent { final String method; final String endPoint; - final params; + final Object params; final StackTrace stackTrace; final DateTime startTime; final DateTime endTime; - final exception; - final result; + final Object exception; + final Object result; WebDriverCommandEvent( {this.method, diff --git a/lib/src/sync/common.dart b/lib/src/sync/common.dart index 3c64db7a..9530e2c9 100644 --- a/lib/src/sync/common.dart +++ b/lib/src/sync/common.dart @@ -45,6 +45,7 @@ class SimpleAttributes extends Attributes { SimpleAttributes(driver, command) : _resolver = new Resolver(driver, command); + @override String operator [](String name) => _resolver.get(name)?.toString(); } @@ -123,7 +124,7 @@ class By { @override String toString() { - var constructor; + String constructor; switch (using) { case 'link text': constructor = 'linkText'; @@ -152,4 +153,4 @@ class By { @override bool operator ==(other) => other is By && other.using == this.using && other.value == this.value; -} \ No newline at end of file +} diff --git a/lib/src/sync/common_spec/cookies.dart b/lib/src/sync/common_spec/cookies.dart index 6f3b8a7a..6aa78df3 100644 --- a/lib/src/sync/common_spec/cookies.dart +++ b/lib/src/sync/common_spec/cookies.dart @@ -77,7 +77,7 @@ class Cookie { {this.path, this.domain, this.secure, this.expiry}); factory Cookie.fromJson(Map json) { - var expiry; + DateTime expiry; if (json['expiry'] is num) { expiry = new DateTime.fromMillisecondsSinceEpoch( json['expiry'].toInt() * 1000, diff --git a/lib/src/sync/json_wire_spec/web_driver.dart b/lib/src/sync/json_wire_spec/web_driver.dart index 2924d365..9c3cabbf 100644 --- a/lib/src/sync/json_wire_spec/web_driver.dart +++ b/lib/src/sync/json_wire_spec/web_driver.dart @@ -234,8 +234,8 @@ class JsonWireWebDriver implements WebDriver, SearchContext { (f) => f.library.startsWith('package:webdriver/'), terse: true); } - var result; - var exception; + Object result; + Object exception; try { result = fn(); return result; diff --git a/lib/src/sync/json_wire_spec/web_element.dart b/lib/src/sync/json_wire_spec/web_element.dart index c09e4320..357fdf85 100644 --- a/lib/src/sync/json_wire_spec/web_element.dart +++ b/lib/src/sync/json_wire_spec/web_element.dart @@ -22,7 +22,6 @@ import '../web_driver.dart'; import '../web_element.dart'; class JsonWireWebElement implements WebElement, SearchContext { - final String _elementPrefix; final Resolver _resolver; @override @@ -48,8 +47,7 @@ class JsonWireWebElement implements WebElement, SearchContext { JsonWireWebElement(this.driver, this.id, [this.context, this.locator, this.index]) - : _elementPrefix = 'element/$id', - _resolver = new Resolver(driver, 'element/$id'); + : _resolver = new Resolver(driver, 'element/$id'); @override void click() { @@ -175,14 +173,14 @@ class _ElementAttributes extends Attributes { _ElementAttributes(this.element); @override - String operator [](String name) => element.driver.execute(""" + String operator [](String name) => element.driver.execute(''' var attr = arguments[0].attributes["$name"]; if(attr) { return attr.value; } return null; - """, [element])?.toString(); + ''', [element])?.toString(); } class _ElementComputedStyle extends Attributes { @@ -209,4 +207,4 @@ class _ElementProperties extends Attributes { /// Convert hyphenated-properties to camelCase. String _cssPropName(String name) => name.splitMapJoin(new RegExp(r'-(\w)'), - onMatch: (m) => m.group(1).toUpperCase(), onNonMatch: (m) => m); \ No newline at end of file + onMatch: (m) => m.group(1).toUpperCase(), onNonMatch: (m) => m); diff --git a/lib/src/sync/w3c_spec/element_finder.dart b/lib/src/sync/w3c_spec/element_finder.dart index db000a5d..c697ad99 100644 --- a/lib/src/sync/w3c_spec/element_finder.dart +++ b/lib/src/sync/w3c_spec/element_finder.dart @@ -31,8 +31,8 @@ class ElementFinder { /// In principle, W3C spec implementations should be nearly the same as /// the existing JSON wire spec. In practice compliance is uneven. Map _byToJson(By by) { - var using; - var value; + String using; + String value; switch (by.using) { case 'id': // This doesn't exist in the W3C spec. diff --git a/lib/src/sync/w3c_spec/web_driver.dart b/lib/src/sync/w3c_spec/web_driver.dart index f8d9180b..52b737f3 100644 --- a/lib/src/sync/w3c_spec/web_driver.dart +++ b/lib/src/sync/w3c_spec/web_driver.dart @@ -211,8 +211,8 @@ class W3cWebDriver implements WebDriver, SearchContext { (f) => f.library.startsWith('package:webdriver/'), terse: true); } - var result; - var exception; + Object result; + Object exception; try { result = fn(); return result; diff --git a/lib/src/sync/window.dart b/lib/src/sync/window.dart index 78b56d3a..e7033b11 100644 --- a/lib/src/sync/window.dart +++ b/lib/src/sync/window.dart @@ -50,7 +50,4 @@ abstract class Window { /// Sets the window as active. void setAsActive(); - - @override - bool operator ==(other); } diff --git a/pubspec.yaml b/pubspec.yaml index 587a2ef3..a8b341b6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,9 +3,9 @@ version: 2.0.0-dev authors: - Marc Fisher II - Matt Staats -description: > - Provides WebDriver bindings for Dart. These support the WebDriver JSON interface - and the W3C spec and require the use of the WebDriver remote server. +description: >- + Provides WebDriver bindings for Dart. These support the WebDriver JSON + interface and the W3C spec and require the use of the WebDriver remote server. homepage: https://github.com/google/webdriver.dart environment: sdk: '>=2.0.0-dev.23.0' diff --git a/test/async_command_event_test.dart b/test/async_command_event_test.dart index e4516864..398ccf2d 100644 --- a/test/async_command_event_test.dart +++ b/test/async_command_event_test.dart @@ -15,6 +15,8 @@ @TestOn('vm') library webdriver.command_event_test; +import 'dart:async'; + import 'package:stack_trace/stack_trace.dart'; import 'package:test/test.dart'; import 'package:webdriver/async_core.dart'; @@ -27,7 +29,7 @@ void main() { WebDriver driver; var events = []; - var sub; + StreamSubscription sub; setUp(() async { driver = await config.createTestDriver(); diff --git a/test/support/async_test.dart b/test/support/async_test.dart index 1530b19a..aa7e2d73 100644 --- a/test/support/async_test.dart +++ b/test/support/async_test.dart @@ -107,8 +107,7 @@ void main() { }); test('throws if condition throws and timeouts', () async { - var exception; - + Object exception; try { await clock.waitFor(() => throw 'an exception'); } catch (e) { @@ -118,7 +117,7 @@ void main() { }); test('throws if condition never matches', () async { - var exception; + Object exception; try { await clock.waitFor(() => null, matcher: isNotNull); } catch (e) { @@ -134,8 +133,7 @@ void main() { }); test('works with Future exceptions', () async { - var exception; - + Object exception; try { await clock.waitFor(() => new Future.error('an exception')); } catch (e) { @@ -160,7 +158,7 @@ void main() { test('sanity test with real Clock -- throws', () async { var clock = const Clock(); - var exception; + Object exception; try { await clock.waitFor(() => throw 'an exception'); } catch (e) { @@ -171,7 +169,7 @@ void main() { test('sanity test with real Clock -- never matches', () async { var clock = const Clock(); - var exception; + Object exception; try { await clock.waitFor(() => null, matcher: isNotNull); } catch (e) { diff --git a/test/sync/keyboard.dart b/test/sync/keyboard.dart index a7dbe382..80d0f8b5 100644 --- a/test/sync/keyboard.dart +++ b/test/sync/keyboard.dart @@ -74,4 +74,4 @@ void runTests(config.createTestDriver createTestDriver) { expect(textInput.properties['value'], 'xxx'); }); }, timeout: const Timeout(const Duration(minutes: 2))); -} \ No newline at end of file +}