enable and fix a number of lints
diff --git a/pkgs/web_socket_channel/.travis.yml b/pkgs/web_socket_channel/.travis.yml index d8ab216..1bb80fe 100644 --- a/pkgs/web_socket_channel/.travis.yml +++ b/pkgs/web_socket_channel/.travis.yml
@@ -1,16 +1,14 @@ language: dart -sudo: false -dart: dev + +dart: +- 2.0.0 +- dev dart_task: - test: --platform vm - test: --platform firefox -j 1 - - dartanalyzer --fatal-infos --fatal-warnings - -matrix: - include: - - dart: dev - dart_task: dartfmt + - dartanalyzer: --fatal-infos --fatal-warnings . + - dartfmt # Only building master means that we don't run two builds for each pull request. branches:
diff --git a/pkgs/web_socket_channel/analysis_options.yaml b/pkgs/web_socket_channel/analysis_options.yaml new file mode 100644 index 0000000..cc05835 --- /dev/null +++ b/pkgs/web_socket_channel/analysis_options.yaml
@@ -0,0 +1,8 @@ +include: package:pedantic/analysis_options.yaml +linter: + rules: + - prefer_equal_for_default_values + - prefer_generic_function_type_aliases + - slash_for_doc_comments + - unnecessary_const + - unnecessary_new
diff --git a/pkgs/web_socket_channel/lib/html.dart b/pkgs/web_socket_channel/lib/html.dart index 3a34572..e2dc145 100644 --- a/pkgs/web_socket_channel/lib/html.dart +++ b/pkgs/web_socket_channel/lib/html.dart
@@ -142,10 +142,10 @@ /// messages. class BinaryType { /// Tells the channel to emit binary messages as [Blob]s. - static const blob = const BinaryType._("blob", "blob"); + static const blob = BinaryType._("blob", "blob"); /// Tells the channel to emit binary messages as [Uint8List]s. - static const list = const BinaryType._("list", "arraybuffer"); + static const list = BinaryType._("list", "arraybuffer"); /// The name of the binary type, which matches its variable name. final String name;
diff --git a/pkgs/web_socket_channel/lib/src/channel.dart b/pkgs/web_socket_channel/lib/src/channel.dart index d701792..bbdaf34 100644 --- a/pkgs/web_socket_channel/lib/src/channel.dart +++ b/pkgs/web_socket_channel/lib/src/channel.dart
@@ -90,7 +90,7 @@ /// /// [WebSocket handshake]: https://tools.ietf.org/html/rfc6455#section-4 WebSocketChannel(StreamChannel<List<int>> channel, - {String protocol, Duration pingInterval, bool serverSide: true}) + {String protocol, Duration pingInterval, bool serverSide = true}) : _webSocket = WebSocketImpl.fromSocket( channel.stream, channel.sink, protocol, serverSide) ..pingInterval = pingInterval;
diff --git a/pkgs/web_socket_channel/lib/src/copy/bytes_builder.dart b/pkgs/web_socket_channel/lib/src/copy/bytes_builder.dart index dfa392b..fed15ad 100644 --- a/pkgs/web_socket_channel/lib/src/copy/bytes_builder.dart +++ b/pkgs/web_socket_channel/lib/src/copy/bytes_builder.dart
@@ -24,7 +24,7 @@ /// it [copy] is false, the data is only copied if needed. That means that if /// the lists are changed after added to the [BytesBuilder], it may effect the /// output. Default is `true`. - factory BytesBuilder({bool copy: true}) { + factory BytesBuilder({bool copy = true}) { if (copy) { return _CopyingBytesBuilder(); } else {
diff --git a/pkgs/web_socket_channel/lib/src/copy/web_socket_impl.dart b/pkgs/web_socket_channel/lib/src/copy/web_socket_impl.dart index 36ebd23..6ac07cf 100644 --- a/pkgs/web_socket_channel/lib/src/copy/web_socket_impl.dart +++ b/pkgs/web_socket_channel/lib/src/copy/web_socket_impl.dart
@@ -52,11 +52,6 @@ static const int RESERVED_F = 15; } -class _EncodedString { - final List<int> bytes; - _EncodedString(this.bytes); -} - /// The web socket protocol transformer handles the protocol byte stream /// which is supplied through the `handleData`. As the protocol is processed, /// it'll output frame data as either a List<int> or String. @@ -334,7 +329,7 @@ case _WebSocketOpcode.CLOSE: closeCode = WebSocketStatus.NO_STATUS_RECEIVED; var payload = _payload.takeBytes(); - if (payload.length > 0) { + if (payload.isNotEmpty) { if (payload.length == 1) { throw WebSocketChannelException("Protocol error"); } @@ -426,9 +421,6 @@ } else if (message is List<int>) { opcode = _WebSocketOpcode.BINARY; data = message; - } else if (message is _EncodedString) { - opcode = _WebSocketOpcode.TEXT; - data = message.bytes; } else { throw ArgumentError(message); }
diff --git a/pkgs/web_socket_channel/pubspec.yaml b/pkgs/web_socket_channel/pubspec.yaml index 8f1bf89..d4aee51 100644 --- a/pkgs/web_socket_channel/pubspec.yaml +++ b/pkgs/web_socket_channel/pubspec.yaml
@@ -1,5 +1,5 @@ name: web_socket_channel -version: 1.0.9 +version: 1.0.10-dev description: StreamChannel wrappers for WebSockets. This package provides a cross-platform WebSocketChannel API, a cross-platform implementation of that API that communicates over an underlying StreamChannel, IOWebSocketChannel that wraps dart:io's WebSocket class, and a HtmlWebSocketChannel that wrap's dart:html's. author: Dart Team <misc@dartlang.org> @@ -14,4 +14,5 @@ stream_channel: ^1.2.0 dev_dependencies: + pedantic: test: ^1.2.0
diff --git a/pkgs/web_socket_channel/test/io_test.dart b/pkgs/web_socket_channel/test/io_test.dart index 187c1c9..f8f6325 100644 --- a/pkgs/web_socket_channel/test/io_test.dart +++ b/pkgs/web_socket_channel/test/io_test.dart
@@ -82,7 +82,7 @@ }); var channel = IOWebSocketChannel.connect("ws://localhost:${server.port}"); - channel.sink.close(5678, "raisin"); + await channel.sink.close(5678, "raisin"); }); test(".connect wraps a connection error in WebSocketChannelException",
diff --git a/pkgs/web_socket_channel/test/web_socket_test.dart b/pkgs/web_socket_channel/test/web_socket_test.dart index dab9656..0d63323 100644 --- a/pkgs/web_socket_channel/test/web_socket_test.dart +++ b/pkgs/web_socket_channel/test/web_socket_test.dart
@@ -76,7 +76,7 @@ var message = await webSocket.stream.first; expect(message, equals("ping")); webSocket.sink.add("pong"); - webSocket.sink.close(); + await webSocket.sink.close(); }); var webSocket = await WebSocket.connect('ws://localhost:${server.port}');