Update resource package, fix analysis hints/lints (#43)
* Update resource package, fix analysis hints/lints
* format files
* format file
* Add new line at end of file
diff --git a/analysis_options.yaml b/analysis_options.yaml
new file mode 100644
index 0000000..108d105
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1 @@
+include: package:pedantic/analysis_options.yaml
diff --git a/lib/resource.dart b/lib/resource.dart
index 66bc06c..667b03a 100644
--- a/lib/resource.dart
+++ b/lib/resource.dart
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-/// A [Resource] is data that can be read into a Dart program.
+/// A `Resource` is data that can be read into a Dart program.
///
/// A resource is identified by a URI. It can be loaded as bytes or data.
/// The resource URI may be a `package:` URI.
diff --git a/lib/src/io_html.dart b/lib/src/io_html.dart
index 1d1a2dc..3e555a7 100644
--- a/lib/src/io_html.dart
+++ b/lib/src/io_html.dart
@@ -12,7 +12,7 @@
// TODO(lrn): Should file be run through XmlHTTPRequest too?
if (uri.scheme == "http" || uri.scheme == "https") {
// TODO: Stream in chunks if DOM has a way to do so.
- List<int> response = await _httpGetBytes(uri);
+ var response = await _httpGetBytes(uri);
yield response;
return;
}
@@ -20,7 +20,7 @@
yield uri.data.contentAsBytes();
return;
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Reads the bytes of a URI as a list of bytes.
@@ -31,7 +31,7 @@
if (uri.scheme == "data") {
return uri.data.contentAsBytes();
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Reads the bytes of a URI as a string.
@@ -47,7 +47,7 @@
if (uri.scheme == "data") {
return uri.data.contentAsString(encoding: encoding);
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
Future<List<int>> _httpGetBytes(Uri uri) {
diff --git a/lib/src/io_io.dart b/lib/src/io_io.dart
index 4903ee5..0370ff9 100644
--- a/lib/src/io_io.dart
+++ b/lib/src/io_io.dart
@@ -19,11 +19,11 @@
/// Read the bytes of a URI as a stream of bytes.
Stream<List<int>> readAsStream(Uri uri) async* {
if (uri.scheme == "file") {
- yield* new File.fromUri(uri).openRead();
+ yield* File.fromUri(uri).openRead();
return;
}
if (uri.scheme == "http" || uri.scheme == "https") {
- HttpClientResponse response = await _httpGetBytes(uri);
+ var response = await _httpGetBytes(uri);
_throwIfFailed(response, uri);
yield* response;
return;
@@ -32,21 +32,21 @@
yield uri.data.contentAsBytes();
return;
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Read the bytes of a URI as a list of bytes.
Future<List<int>> readAsBytes(Uri uri) async {
if (uri.scheme == "file") {
- return new File.fromUri(uri).readAsBytes();
+ return File.fromUri(uri).readAsBytes();
}
if (uri.scheme == "http" || uri.scheme == "https") {
- HttpClientResponse response = await _httpGetBytes(uri);
+ var response = await _httpGetBytes(uri);
_throwIfFailed(response, uri);
- int length = response.contentLength;
+ var length = response.contentLength;
if (length < 0) length = 0;
// Create empty buffer with capacity matching contentLength.
- var buffer = new Uint8Buffer(length)..length = 0;
+ var buffer = Uint8Buffer(length)..length = 0;
await for (var bytes in response) {
buffer.addAll(bytes);
}
@@ -55,49 +55,50 @@
if (uri.scheme == "data") {
return uri.data.contentAsBytes();
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Read the bytes of a URI as a string.
Future<String> readAsString(Uri uri, Encoding encoding) async {
if (uri.scheme == "file") {
- if (encoding == null) encoding = utf8;
- return new File.fromUri(uri).readAsString(encoding: encoding);
+ encoding ??= utf8;
+ return File.fromUri(uri).readAsString(encoding: encoding);
}
if (uri.scheme == "http" || uri.scheme == "https") {
- HttpClientRequest request = await new HttpClient().getUrl(uri);
+ var request = await HttpClient().getUrl(uri);
// Prefer text/plain, text/* if possible, otherwise take whatever is there.
request.headers.set(HttpHeaders.acceptHeader, "text/plain, text/*, */*");
if (encoding != null) {
request.headers.set(HttpHeaders.acceptCharsetHeader, encoding.name);
}
- HttpClientResponse response = await request.close();
+ var response = await request.close();
_throwIfFailed(response, uri);
encoding ??= Encoding.getByName(response.headers.contentType?.charset);
if (encoding == null || encoding == latin1) {
// Default to LATIN-1 if no encoding found.
// Special case LATIN-1 since it is common and doesn't need decoding.
- int length = response.contentLength;
+ var length = response.contentLength;
if (length < 0) length = 0;
// Create empty buffer with capacity matching contentLength.
- var buffer = new Uint8Buffer(length)..length = 0;
+ var buffer = Uint8Buffer(length)..length = 0;
await for (var bytes in response) {
buffer.addAll(bytes);
}
var byteList = buffer.buffer.asUint8List(0, buffer.length);
- return new String.fromCharCodes(byteList);
+ return String.fromCharCodes(byteList);
}
return response.cast<List<int>>().transform(encoding.decoder).join();
}
if (uri.scheme == "data") {
return uri.data.contentAsString(encoding: encoding);
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
-HttpClient _sharedHttpClient = new HttpClient()..maxConnectionsPerHost = 6;
+HttpClient _sharedHttpClient = HttpClient()..maxConnectionsPerHost = 6;
Future<HttpClientResponse> _httpGetBytes(Uri uri) async {
+ // ignore: omit_local_variable_types
HttpClientRequest request = await _sharedHttpClient.getUrl(uri);
request.headers
.set(HttpHeaders.acceptHeader, "application/octet-stream, */*");
@@ -107,6 +108,6 @@
void _throwIfFailed(HttpClientResponse response, Uri uri) {
var statusCode = response.statusCode;
if (statusCode < HttpStatus.ok || statusCode > HttpStatus.noContent) {
- throw new HttpException(response.reasonPhrase, uri: uri);
+ throw HttpException(response.reasonPhrase, uri: uri);
}
}
diff --git a/lib/src/io_none.dart b/lib/src/io_none.dart
index 3c67eb6..bf34510 100644
--- a/lib/src/io_none.dart
+++ b/lib/src/io_none.dart
@@ -11,7 +11,7 @@
yield uri.data.contentAsBytes();
return;
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Read the bytes of a URI as a list of bytes.
@@ -19,7 +19,7 @@
if (uri.scheme == "data") {
return uri.data.contentAsBytes();
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
/// Read the bytes of a URI as a string.
@@ -27,5 +27,5 @@
if (uri.scheme == "data") {
return uri.data.contentAsString(encoding: encoding);
}
- throw new UnsupportedError("Unsupported scheme: $uri");
+ throw UnsupportedError("Unsupported scheme: $uri");
}
diff --git a/lib/src/resolve.dart b/lib/src/resolve.dart
index 053899a..4858ccf 100644
--- a/lib/src/resolve.dart
+++ b/lib/src/resolve.dart
@@ -10,10 +10,10 @@
if (uri.scheme == "package") {
return Isolate.resolvePackageUri(uri).then((resolvedUri) {
if (resolvedUri == null) {
- throw new ArgumentError.value(uri, "uri", "Unknown package");
+ throw ArgumentError.value(uri, "uri", "Unknown package");
}
return resolvedUri;
});
}
- return new Future<Uri>.value(Uri.base.resolveUri(uri));
+ return Future<Uri>.value(Uri.base.resolveUri(uri));
}
diff --git a/lib/src/resource.dart b/lib/src/resource.dart
index d5c4208..258ff76 100644
--- a/lib/src/resource.dart
+++ b/lib/src/resource.dart
@@ -20,7 +20,7 @@
final ResourceLoader _loader;
/// The URI of the resource.
- final _uri;
+ final dynamic _uri;
/// Creates a resource object with the given [uri] as location.
///
@@ -55,13 +55,13 @@
/// Reads the resource content as a stream of bytes.
Stream<List<int>> openRead() async* {
- Uri uri = await resolveUri(this.uri);
+ var uri = await resolveUri(this.uri);
yield* _loader.openRead(uri);
}
/// Reads the resource content as a single list of bytes.
Future<List<int>> readAsBytes() async {
- Uri uri = await resolveUri(this.uri);
+ var uri = await resolveUri(this.uri);
return _loader.readAsBytes(uri);
}
@@ -71,7 +71,7 @@
/// If no encoding is provided, an encoding is chosen depending on the
/// protocol and/or available metadata.
Future<String> readAsString({Encoding encoding}) async {
- Uri uri = await resolveUri(this.uri);
+ var uri = await resolveUri(this.uri);
return _loader.readAsString(uri, encoding: encoding);
}
}
diff --git a/lib/src/resource_loader.dart b/lib/src/resource_loader.dart
index 3f282e8..30a39a3 100644
--- a/lib/src/resource_loader.dart
+++ b/lib/src/resource_loader.dart
@@ -28,10 +28,10 @@
/// Relative URI references are accepted - they are resolved against
/// [Uri.base] before being loaded.
///
- /// This loader is automatically used by the [Resource] class
+ /// This loader is automatically used by the `Resource` class
/// if no other loader is specified.
static ResourceLoader get defaultLoader =>
- const PackageLoader(const DefaultLoader());
+ const PackageLoader(DefaultLoader());
/// Reads the file located by [uri] as a stream of bytes.
Stream<List<int>> openRead(Uri uri);
diff --git a/pubspec.yaml b/pubspec.yaml
index 81c2baa..ee6b0b6 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -11,3 +11,4 @@
typed_data: "^1.0.0"
dev_dependencies:
test: ^1.0.0
+ pedantic: ^1.8.0
diff --git a/test/browser_http_test.dart b/test/browser_http_test.dart
index a8f21d9..fd5ddb0 100644
--- a/test/browser_http_test.dart
+++ b/test/browser_http_test.dart
@@ -4,7 +4,6 @@
@TestOn("browser")
-import "dart:async";
import "dart:convert";
import "package:resource/resource.dart";
@@ -12,7 +11,7 @@
const content = "Rødgrød med fløde";
-main() {
+void main() {
// Assume test files located next to Uri.base.
// This is how "pub run test" currently works.
@@ -20,35 +19,35 @@
var loader = ResourceLoader.defaultLoader;
// The HTTPXmlRequest loader defaults to UTF-8 encoding.
var uri = Uri.base.resolve("testfile-utf8.txt");
- String string = await loader.readAsString(uri);
+ var string = await loader.readAsString(uri);
expect(string, content);
});
test("Latin-1 encoding", () async {
var loader = ResourceLoader.defaultLoader;
var uri = Uri.base.resolve("testfile-latin1.txt");
- String string = await loader.readAsString(uri, encoding: latin1);
+ var string = await loader.readAsString(uri, encoding: latin1);
expect(string, content);
});
test("UTF-8 encoding", () async {
var loader = ResourceLoader.defaultLoader;
var uri = Uri.base.resolve("testfile-utf8.txt");
- String string = await loader.readAsString(uri, encoding: utf8);
+ var string = await loader.readAsString(uri, encoding: utf8);
expect(string, content);
});
test("bytes", () async {
var loader = ResourceLoader.defaultLoader;
var uri = Uri.base.resolve("testfile-latin1.txt");
- List<int> bytes = await loader.readAsBytes(uri);
+ var bytes = await loader.readAsBytes(uri);
expect(bytes, content.codeUnits);
});
test("byte stream", () async {
var loader = ResourceLoader.defaultLoader;
var uri = Uri.base.resolve("testfile-latin1.txt");
- Stream<List<int>> bytes = loader.openRead(uri);
+ var bytes = loader.openRead(uri);
var buffer = [];
await bytes.forEach(buffer.addAll);
expect(buffer, content.codeUnits);
diff --git a/test/loader_data_test.dart b/test/loader_data_test.dart
index 19c898a..1e61316 100644
--- a/test/loader_data_test.dart
+++ b/test/loader_data_test.dart
@@ -11,25 +11,25 @@
const content = "Rødgrød med fløde";
-main() {
- testFile(Encoding encoding, bool base64) {
+void main() {
+ void testFile(Encoding encoding, bool base64) {
group("${encoding.name}${base64 ? " base64" : ""}", () {
- var uri;
+ Uri uri;
setUp(() {
var dataUri =
- new UriData.fromString(content, encoding: encoding, base64: base64);
+ UriData.fromString(content, encoding: encoding, base64: base64);
uri = dataUri.uri;
});
test("read string", () async {
var loader = ResourceLoader.defaultLoader;
- String string = await loader.readAsString(uri, encoding: encoding);
+ var string = await loader.readAsString(uri, encoding: encoding);
expect(string, content);
});
test("read bytes", () async {
var loader = ResourceLoader.defaultLoader;
- List<int> bytes = await loader.readAsBytes(uri);
+ var bytes = await loader.readAsBytes(uri);
expect(bytes, encoding.encode(content));
});
diff --git a/test/loader_file_test.dart b/test/loader_file_test.dart
index 30e33bb..cd10399 100644
--- a/test/loader_file_test.dart
+++ b/test/loader_file_test.dart
@@ -12,32 +12,33 @@
const content = "Rødgrød med fløde";
-main() {
- var dir;
- int dirCounter = 0;
+void main() {
+ Directory dir;
+ var dirCounter = 0;
setUp(() {
dir = Directory.systemTemp.createTempSync('testdir${dirCounter++}');
});
- testFile(Encoding encoding) {
+ void testFile(Encoding encoding) {
group("${encoding.name}", () {
- var file;
- var uri;
+ File file;
+ Uri uri;
setUp(() {
var dirUri = dir.uri;
uri = dirUri.resolve("file.txt");
- file = new File.fromUri(uri);
+ file = File.fromUri(uri);
+ // ignore: cascade_invocations
file.writeAsBytesSync(encoding.encode(content));
});
test("read string", () async {
var loader = ResourceLoader.defaultLoader;
- String string = await loader.readAsString(uri, encoding: encoding);
+ var string = await loader.readAsString(uri, encoding: encoding);
expect(string, content);
});
test("read bytes", () async {
var loader = ResourceLoader.defaultLoader;
- List<int> bytes = await loader.readAsBytes(uri);
+ var bytes = await loader.readAsBytes(uri);
expect(bytes, encoding.encode(content));
});
diff --git a/test/loader_http_test.dart b/test/loader_http_test.dart
index 856971d..9f62230 100644
--- a/test/loader_http_test.dart
+++ b/test/loader_http_test.dart
@@ -7,20 +7,21 @@
import "dart:convert";
import "dart:io";
+import 'package:pedantic/pedantic.dart';
import "package:resource/resource.dart";
import "package:test/test.dart";
const content = "Rødgrød med fløde";
-main() {
- var server;
- var uri;
+void main() {
+ HttpServer server;
+ Uri uri;
setUp(() async {
var addr = (await InternetAddress.lookup("localhost"))[0];
server = await HttpServer.bind(addr, 0);
- int port = server.port;
+ var port = server.port;
uri = Uri.parse("http://localhost:$port/default.html");
- server.forEach((HttpRequest request) {
+ unawaited(server.forEach((HttpRequest request) {
if (request.uri.path.endsWith(".not")) {
request.response
..statusCode = HttpStatus.notFound
@@ -30,7 +31,7 @@
var encodings = request.headers[HttpHeaders.acceptCharsetHeader];
var encoding = parseAcceptCharset(encodings);
request.response.headers.contentType =
- new ContentType("text", "plain", charset: encoding.name);
+ ContentType("text", "plain", charset: encoding.name);
if (request.uri.query.contains("length")) {
request.response.headers.contentLength =
encoding.encode(content).length;
@@ -41,52 +42,55 @@
}).catchError((e, stack) {
print(e);
print(stack);
- });
+ }));
});
test("Default encoding", () async {
var loader = ResourceLoader.defaultLoader;
- String string = await loader.readAsString(uri);
+ var string = await loader.readAsString(uri);
expect(string, content);
});
test("Latin-1 encoding", () async {
var loader = ResourceLoader.defaultLoader;
- String string = await loader.readAsString(uri, encoding: latin1);
+ var string = await loader.readAsString(uri, encoding: latin1);
expect(string, content);
});
test("Latin-1 encoding w/ length", () async {
// Regression test for issue #21.
var loader = ResourceLoader.defaultLoader;
- var newUri = uri.replace(query: "length"); // Request length set.
- String string = await loader.readAsString(newUri, encoding: latin1);
+ // ignore: non_constant_identifier_names
+ var Uri = uri.replace(query: "length"); // Request length set.
+ var string = await loader.readAsString(Uri, encoding: latin1);
expect(string, content);
});
test("UTF-8 encoding", () async {
var loader = ResourceLoader.defaultLoader;
- var newUri = uri.replace(query: "length"); // Request length set.
- String string = await loader.readAsString(newUri, encoding: utf8);
+ // ignore: non_constant_identifier_names
+ var Uri = uri.replace(query: "length"); // Request length set.
+ var string = await loader.readAsString(Uri, encoding: utf8);
expect(string, content);
});
test("UTF-8 encoding w/ length", () async {
var loader = ResourceLoader.defaultLoader;
- String string = await loader.readAsString(uri, encoding: utf8);
+ var string = await loader.readAsString(uri, encoding: utf8);
expect(string, content);
});
test("bytes", () async {
var loader = ResourceLoader.defaultLoader;
- List<int> bytes = await loader.readAsBytes(uri); // Sender uses Latin-1.
+ var bytes = await loader.readAsBytes(uri); // Sender uses Latin-1.
expect(bytes, content.codeUnits);
});
test("bytes w/ length", () async {
var loader = ResourceLoader.defaultLoader;
- var newUri = uri.replace(query: "length"); // Request length set.
- List<int> bytes = await loader.readAsBytes(newUri); // Sender uses Latin-1.
+ // ignore: non_constant_identifier_names
+ var Uri = uri.replace(query: "length"); // Request length set.
+ var bytes = await loader.readAsBytes(Uri); // Sender uses Latin-1.
expect(bytes, content.codeUnits);
});
@@ -126,7 +130,7 @@
Encoding encoding = latin1;
if (headers != null) {
var weight = 0.0;
- var pattern = new RegExp(r"([\w-]+)(;\s*q=[\d.]+)?");
+ var pattern = RegExp(r"([\w-]+)(;\s*q=[\d.]+)?");
for (var acceptCharset in headers) {
for (var match in pattern.allMatches(acceptCharset)) {
var e = Encoding.getByName(match[1]);
diff --git a/test/resource_test.dart b/test/resource_test.dart
index 7e7a88a..e06b4df 100644
--- a/test/resource_test.dart
+++ b/test/resource_test.dart
@@ -10,8 +10,8 @@
import "package:resource/resource.dart";
import "package:test/test.dart";
-main() {
- pkguri(path) => new Uri(scheme: "package", path: path);
+void main() {
+ Uri pkguri(path) => Uri(scheme: "package", path: path);
Future<Uri> resolve(Uri source) async {
if (source.scheme == "package") {
@@ -21,9 +21,9 @@
}
group("loading", () {
- testLoad(Uri uri) async {
- LogLoader loader = new LogLoader();
- var resource = new Resource(uri, loader: loader);
+ Future testLoad(Uri uri) async {
+ var loader = LogLoader();
+ var resource = Resource(uri, loader: loader);
var res = await resource.openRead().toList();
var resolved = await resolve(uri);
expect(res, [