lint: enable and fix prefer_final_locals
diff --git a/analysis_options.yaml b/analysis_options.yaml
index a71a4ae..c2977b5 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -40,7 +40,7 @@
- package_names
- package_prefixed_library_names
- prefer_const_constructors
- #- prefer_final_locals
+ - prefer_final_locals
- prefer_initializing_formals
- prefer_interpolation_to_compose_strings
- prefer_null_aware_operators
diff --git a/lib/src/authentication_challenge.dart b/lib/src/authentication_challenge.dart
index ec368e5..e4b6619 100644
--- a/lib/src/authentication_challenge.dart
+++ b/lib/src/authentication_challenge.dart
@@ -35,14 +35,14 @@
/// Throws a [FormatException] if the header is invalid.
static List<AuthenticationChallenge> parseHeader(String header) {
return wrapFormatException('authentication header', header, () {
- var scanner = StringScanner(header);
+ final scanner = StringScanner(header);
scanner.scan(whitespace);
- var challenges = parseList(scanner, () {
- var scheme = _scanScheme(scanner, whitespaceName: '" " or "="');
+ final challenges = parseList(scanner, () {
+ final scheme = _scanScheme(scanner, whitespaceName: '" " or "="');
// Manually parse the inner list. We need to do some lookahead to
// disambiguate between an auth param and another challenge.
- var params = <String, String>{};
+ final params = <String, String>{};
// Consume initial empty values.
while (scanner.scan(',')) {
@@ -59,7 +59,7 @@
if (scanner.matches(',') || scanner.isDone) continue;
scanner.expect(token, name: 'a token');
- var name = scanner.lastMatch[0];
+ final name = scanner.lastMatch[0];
scanner.scan(whitespace);
// If there's no "=", then this is another challenge rather than a
@@ -95,11 +95,11 @@
/// Throws a [FormatException] if the challenge is invalid.
factory AuthenticationChallenge.parse(String challenge) {
return wrapFormatException('authentication challenge', challenge, () {
- var scanner = StringScanner(challenge);
+ final scanner = StringScanner(challenge);
scanner.scan(whitespace);
- var scheme = _scanScheme(scanner);
+ final scheme = _scanScheme(scanner);
- var params = <String, String>{};
+ final params = <String, String>{};
parseList(scanner, () => _scanAuthParam(scanner, params));
scanner.expectDone();
@@ -113,7 +113,7 @@
/// due to invalid trailing whitespace.
static String _scanScheme(StringScanner scanner, {String whitespaceName}) {
scanner.expect(token, name: 'a token');
- var scheme = scanner.lastMatch[0].toLowerCase();
+ final scheme = scanner.lastMatch[0].toLowerCase();
scanner.scan(whitespace);
@@ -129,7 +129,7 @@
/// Scans a single authentication parameter and stores its result in [params].
static void _scanAuthParam(StringScanner scanner, Map params) {
scanner.expect(token, name: 'a token');
- var name = scanner.lastMatch[0];
+ final name = scanner.lastMatch[0];
scanner.scan(whitespace);
scanner.expect('=');
scanner.scan(whitespace);
diff --git a/lib/src/chunked_coding/decoder.dart b/lib/src/chunked_coding/decoder.dart
index 9b2b194..cd06f39 100644
--- a/lib/src/chunked_coding/decoder.dart
+++ b/lib/src/chunked_coding/decoder.dart
@@ -18,8 +18,8 @@
@override
List<int> convert(List<int> input) {
- var sink = _Sink(null);
- var output = sink._decode(input, 0, input.length);
+ final sink = _Sink(null);
+ final output = sink._decode(input, 0, input.length);
if (sink._state == _State.end) return output;
throw FormatException('Input ended unexpectedly.', input, input.length);
@@ -50,7 +50,7 @@
@override
void addSlice(List<int> chunk, int start, int end, bool isLast) {
RangeError.checkValidRange(start, end, chunk.length);
- var output = _decode(chunk, start, end);
+ final output = _decode(chunk, start, end);
if (output.isNotEmpty) _sink.add(output);
if (isLast) _close(chunk, end);
}
@@ -78,7 +78,7 @@
}
}
- var buffer = Uint8Buffer();
+ final buffer = Uint8Buffer();
while (start != end) {
switch (_state) {
case _State.boundary:
@@ -105,7 +105,7 @@
break;
case _State.body:
- var chunkEnd = math.min(end, start + _size);
+ final chunkEnd = math.min(end, start + _size);
buffer.addAll(bytes, start, chunkEnd);
_size -= chunkEnd - start;
start = chunkEnd;
@@ -156,8 +156,8 @@
// We check for digits first because it ensures there's only a single branch
// for 10 out of 16 of the expected cases. We don't count the `digit >= 0`
// check because branch prediction will always work on it for valid data.
- var byte = bytes[index];
- var digit = $0 ^ byte;
+ final byte = bytes[index];
+ final digit = $0 ^ byte;
if (digit <= 9) {
if (digit >= 0) return digit;
} else {
@@ -165,7 +165,7 @@
// because uppercase letters in ASCII are exactly `0b100000 = 0x20` less
// than lowercase letters, so if we ensure that that bit is 1 we ensure that
// the letter is lowercase.
- var letter = 0x20 | byte;
+ final letter = 0x20 | byte;
if ($a <= letter && letter <= $f) return letter - $a + 10;
}
diff --git a/lib/src/chunked_coding/encoder.dart b/lib/src/chunked_coding/encoder.dart
index e1f2750..81e4dc8 100644
--- a/lib/src/chunked_coding/encoder.dart
+++ b/lib/src/chunked_coding/encoder.dart
@@ -60,12 +60,12 @@
List<int> _convert(List<int> bytes, int start, int end, {bool isLast = false}) {
if (end == start) return isLast ? _doneChunk : const [];
- var size = end - start;
- var sizeInHex = size.toRadixString(16);
- var footerSize = isLast ? _doneChunk.length : 0;
+ final size = end - start;
+ final sizeInHex = size.toRadixString(16);
+ final footerSize = isLast ? _doneChunk.length : 0;
// Add 4 for the CRLF sequences that follow the size header and the bytes.
- var list = Uint8List(sizeInHex.length + 4 + size + footerSize);
+ final list = Uint8List(sizeInHex.length + 4 + size + footerSize);
list.setRange(0, sizeInHex.length, sizeInHex.codeUnits);
var cursor = sizeInHex.length;
diff --git a/lib/src/http_date.dart b/lib/src/http_date.dart
index 76d1d2b..88ada63 100644
--- a/lib/src/http_date.dart
+++ b/lib/src/http_date.dart
@@ -34,7 +34,7 @@
/// [RFC 1123](http://tools.ietf.org/html/rfc1123).
String formatHttpDate(DateTime date) {
date = date.toUtc();
- var buffer = StringBuffer()
+ final buffer = StringBuffer()
..write(_weekdays[date.weekday - 1])
..write(', ')
..write(date.day <= 9 ? '0' : '')
@@ -59,18 +59,18 @@
/// It will throw a [FormatException] if [date] is invalid.
DateTime parseHttpDate(String date) {
return wrapFormatException('HTTP date', date, () {
- var scanner = StringScanner(date);
+ final scanner = StringScanner(date);
if (scanner.scan(_longWeekdayRegExp)) {
// RFC 850 starts with a long weekday.
scanner.expect(', ');
- var day = _parseInt(scanner, 2);
+ final day = _parseInt(scanner, 2);
scanner.expect('-');
- var month = _parseMonth(scanner);
+ final month = _parseMonth(scanner);
scanner.expect('-');
- var year = 1900 + _parseInt(scanner, 2);
+ final year = 1900 + _parseInt(scanner, 2);
scanner.expect(' ');
- var time = _parseTime(scanner);
+ final time = _parseTime(scanner);
scanner.expect(' GMT');
scanner.expectDone();
@@ -81,13 +81,13 @@
scanner.expect(_shortWeekdayRegExp);
if (scanner.scan(', ')) {
// RFC 1123 follows the weekday with a comma.
- var day = _parseInt(scanner, 2);
+ final day = _parseInt(scanner, 2);
scanner.expect(' ');
- var month = _parseMonth(scanner);
+ final month = _parseMonth(scanner);
scanner.expect(' ');
- var year = _parseInt(scanner, 4);
+ final year = _parseInt(scanner, 4);
scanner.expect(' ');
- var time = _parseTime(scanner);
+ final time = _parseTime(scanner);
scanner.expect(' GMT');
scanner.expectDone();
@@ -96,13 +96,14 @@
// asctime follows the weekday with a space.
scanner.expect(' ');
- var month = _parseMonth(scanner);
+ final month = _parseMonth(scanner);
scanner.expect(' ');
- var day = scanner.scan(' ') ? _parseInt(scanner, 1) : _parseInt(scanner, 2);
+ final day =
+ scanner.scan(' ') ? _parseInt(scanner, 1) : _parseInt(scanner, 2);
scanner.expect(' ');
- var time = _parseTime(scanner);
+ final time = _parseTime(scanner);
scanner.expect(' ');
- var year = _parseInt(scanner, 4);
+ final year = _parseInt(scanner, 4);
scanner.expectDone();
return _makeDateTime(year, month, day, time);
@@ -128,15 +129,15 @@
/// Parses an timestamp of the form "HH:MM:SS" on a 24-hour clock.
DateTime _parseTime(StringScanner scanner) {
- var hours = _parseInt(scanner, 2);
+ final hours = _parseInt(scanner, 2);
if (hours >= 24) scanner.error('hours may not be greater than 24.');
scanner.expect(':');
- var minutes = _parseInt(scanner, 2);
+ final minutes = _parseInt(scanner, 2);
if (minutes >= 60) scanner.error('minutes may not be greater than 60.');
scanner.expect(':');
- var seconds = _parseInt(scanner, 2);
+ final seconds = _parseInt(scanner, 2);
if (seconds >= 60) scanner.error('seconds may not be greater than 60.');
return DateTime(1, 1, 1, hours, minutes, seconds);
@@ -147,7 +148,7 @@
/// Validates that [day] is a valid day for [month]. If it's not, throws a
/// [FormatException].
DateTime _makeDateTime(int year, int month, int day, DateTime time) {
- var dateTime =
+ final dateTime =
DateTime.utc(year, month, day, time.hour, time.minute, time.second);
// If [day] was too large, it will cause [month] to overflow.
diff --git a/lib/src/media_type.dart b/lib/src/media_type.dart
index 2ad699a..8d0b082 100644
--- a/lib/src/media_type.dart
+++ b/lib/src/media_type.dart
@@ -44,20 +44,20 @@
// This parsing is based on sections 3.6 and 3.7 of the HTTP spec:
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html.
return wrapFormatException('media type', mediaType, () {
- var scanner = StringScanner(mediaType);
+ final scanner = StringScanner(mediaType);
scanner.scan(whitespace);
scanner.expect(token);
- var type = scanner.lastMatch[0];
+ final type = scanner.lastMatch[0];
scanner.expect('/');
scanner.expect(token);
- var subtype = scanner.lastMatch[0];
+ final subtype = scanner.lastMatch[0];
scanner.scan(whitespace);
- var parameters = <String, String>{};
+ final parameters = <String, String>{};
while (scanner.scan(';')) {
scanner.scan(whitespace);
scanner.expect(token);
- var attribute = scanner.lastMatch[0];
+ final attribute = scanner.lastMatch[0];
scanner.expect('=');
String value;
@@ -105,7 +105,7 @@
'[mimeType].');
}
- var segments = mimeType.split('/');
+ final segments = mimeType.split('/');
if (segments.length != 2) {
throw FormatException('Invalid mime type "$mimeType".');
}
@@ -119,7 +119,7 @@
parameters ??= {};
if (!clearParameters) {
- var newParameters = parameters;
+ final newParameters = parameters;
parameters = Map.from(this.parameters);
parameters.addAll(newParameters);
}
@@ -132,7 +132,7 @@
/// This will produce a valid HTTP media type.
@override
String toString() {
- var buffer = StringBuffer()..write(type)..write('/')..write(subtype);
+ final buffer = StringBuffer()..write(type)..write('/')..write(subtype);
parameters.forEach((attribute, value) {
buffer.write('; $attribute=');
diff --git a/lib/src/scan.dart b/lib/src/scan.dart
index 38cec49..1bdf877 100644
--- a/lib/src/scan.dart
+++ b/lib/src/scan.dart
@@ -31,7 +31,7 @@
/// Once this is finished, [scanner] will be at the next non-LWS character in
/// the string, or the end of the string.
List<T> parseList<T>(StringScanner scanner, T Function() parseElement) {
- var result = <T>[];
+ final result = <T>[];
// Consume initial empty values.
while (scanner.scan(',')) {
@@ -61,7 +61,7 @@
String expectQuotedString(StringScanner scanner, {String name}) {
name ??= 'quoted string';
scanner.expect(_quotedString, name: name);
- var string = scanner.lastMatch[0];
+ final string = scanner.lastMatch[0];
return string
.substring(1, string.length - 1)
.replaceAllMapped(_quotedPair, (match) => match[1]);
diff --git a/test/authentication_challenge_test.dart b/test/authentication_challenge_test.dart
index 35559e0..6184d3e 100644
--- a/test/authentication_challenge_test.dart
+++ b/test/authentication_challenge_test.dart
@@ -14,14 +14,14 @@
group('parseHeader', () {
group('with a single challenge', () {
_singleChallengeTests((challenge) {
- var challenges = AuthenticationChallenge.parseHeader(challenge);
+ final challenges = AuthenticationChallenge.parseHeader(challenge);
expect(challenges, hasLength(1));
return challenges.single;
});
});
test('parses multiple challenges', () {
- var challenges = AuthenticationChallenge.parseHeader(
+ final challenges = AuthenticationChallenge.parseHeader(
'scheme1 realm=fblthp, scheme2 realm=asdfg');
expect(challenges, hasLength(2));
expect(challenges.first.scheme, equals('scheme1'));
@@ -31,7 +31,7 @@
});
test('parses multiple challenges with multiple parameters', () {
- var challenges = AuthenticationChallenge.parseHeader(
+ final challenges = AuthenticationChallenge.parseHeader(
'scheme1 realm=fblthp, foo=bar, scheme2 realm=asdfg, baz=bang');
expect(challenges, hasLength(2));
@@ -54,65 +54,66 @@
void _singleChallengeTests(
AuthenticationChallenge Function(String challenge) parseChallenge) {
test('parses a simple challenge', () {
- var challenge = parseChallenge('scheme realm=fblthp');
+ final challenge = parseChallenge('scheme realm=fblthp');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp'}));
});
test('parses multiple parameters', () {
- var challenge = parseChallenge('scheme realm=fblthp, foo=bar, baz=qux');
+ final challenge = parseChallenge('scheme realm=fblthp, foo=bar, baz=qux');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters,
equals({'realm': 'fblthp', 'foo': 'bar', 'baz': 'qux'}));
});
test('parses quoted string parameters', () {
- var challenge = parseChallenge('scheme realm="fblthp, foo=bar", baz="qux"');
+ final challenge =
+ parseChallenge('scheme realm="fblthp, foo=bar", baz="qux"');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters,
equals({'realm': 'fblthp, foo=bar', 'baz': 'qux'}));
});
test('normalizes the case of the scheme', () {
- var challenge = parseChallenge('ScHeMe realm=fblthp');
+ final challenge = parseChallenge('ScHeMe realm=fblthp');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp'}));
});
test('normalizes the case of the parameter name', () {
- var challenge = parseChallenge('scheme ReAlM=fblthp');
+ final challenge = parseChallenge('scheme ReAlM=fblthp');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, containsPair('realm', 'fblthp'));
});
test("doesn't normalize the case of the parameter value", () {
- var challenge = parseChallenge('scheme realm=FbLtHp');
+ final challenge = parseChallenge('scheme realm=FbLtHp');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, containsPair('realm', 'FbLtHp'));
expect(challenge.parameters, isNot(containsPair('realm', 'fblthp')));
});
test('allows extra whitespace', () {
- var challenge = parseChallenge(
+ final challenge = parseChallenge(
' scheme\t \trealm\t = \tfblthp\t, \tfoo\t\r\n =\tbar\t');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp', 'foo': 'bar'}));
});
test('allows an empty parameter', () {
- var challenge = parseChallenge('scheme realm=fblthp, , foo=bar');
+ final challenge = parseChallenge('scheme realm=fblthp, , foo=bar');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp', 'foo': 'bar'}));
});
test('allows a leading comma', () {
- var challenge = parseChallenge('scheme , realm=fblthp, foo=bar,');
+ final challenge = parseChallenge('scheme , realm=fblthp, foo=bar,');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp', 'foo': 'bar'}));
});
test('allows a trailing comma', () {
- var challenge = parseChallenge('scheme realm=fblthp, foo=bar, ,');
+ final challenge = parseChallenge('scheme realm=fblthp, foo=bar, ,');
expect(challenge.scheme, equals('scheme'));
expect(challenge.parameters, equals({'realm': 'fblthp', 'foo': 'bar'}));
});
diff --git a/test/case_insensitive_map_test.dart b/test/case_insensitive_map_test.dart
index 25cd02b..b08d89b 100644
--- a/test/case_insensitive_map_test.dart
+++ b/test/case_insensitive_map_test.dart
@@ -7,7 +7,7 @@
void main() {
test('provides case-insensitive access to the map', () {
- var map = CaseInsensitiveMap();
+ final map = CaseInsensitiveMap();
map['fOo'] = 'bAr';
expect(map, containsPair('FoO', 'bAr'));
@@ -16,13 +16,13 @@
});
test('stores the original key cases', () {
- var map = CaseInsensitiveMap();
+ final map = CaseInsensitiveMap();
map['fOo'] = 'bAr';
expect(map, equals({'fOo': 'bAr'}));
});
test('.from() converts an existing map', () {
- var map = CaseInsensitiveMap.from({'fOo': 'bAr'});
+ final map = CaseInsensitiveMap.from({'fOo': 'bAr'});
expect(map, containsPair('FoO', 'bAr'));
expect(map, equals({'fOo': 'bAr'}));
});
diff --git a/test/chunked_coding_test.dart b/test/chunked_coding_test.dart
index ec84614..0b178ec 100644
--- a/test/chunked_coding_test.dart
+++ b/test/chunked_coding_test.dart
@@ -18,7 +18,7 @@
});
test('uses hex for chunk size', () {
- var data = Iterable<int>.generate(0xA7).toList();
+ final data = Iterable<int>.generate(0xA7).toList();
expect(
chunkedCoding.encode(data),
equals(
@@ -34,7 +34,7 @@
ByteConversionSink sink;
setUp(() {
results = [];
- var controller = StreamController<List<int>>(sync: true);
+ final controller = StreamController<List<int>>(sync: true);
controller.stream.listen(results.add);
sink = chunkedCoding.encoder.startChunkedConversion(controller.sink);
});
@@ -175,7 +175,7 @@
});
test('parses hex size', () {
- var data = Iterable<int>.generate(0xA7).toList();
+ final data = Iterable<int>.generate(0xA7).toList();
expect(
chunkedCoding.decode(
[$a, $7, $cr, $lf, ...data, $cr, $lf, $0, $cr, $lf, $cr, $lf]),
@@ -183,7 +183,7 @@
});
test('parses capital hex size', () {
- var data = Iterable<int>.generate(0xA7).toList();
+ final data = Iterable<int>.generate(0xA7).toList();
expect(
chunkedCoding.decode(
[$A, $7, $cr, $lf, ...data, $cr, $lf, $0, $cr, $lf, $cr, $lf]),
@@ -259,7 +259,7 @@
ByteConversionSink sink;
setUp(() {
results = [];
- var controller = StreamController<List<int>>(sync: true);
+ final controller = StreamController<List<int>>(sync: true);
controller.stream.listen(results.add);
sink = chunkedCoding.decoder.startChunkedConversion(controller.sink);
});
@@ -327,7 +327,7 @@
sink.add([$a]);
expect(results, isEmpty);
- var data = Iterable<int>.generate(0xA7).toList();
+ final data = Iterable<int>.generate(0xA7).toList();
sink.add([$7, $cr, $lf, ...data]);
expect(results, equals([data]));
});
diff --git a/test/http_date_test.dart b/test/http_date_test.dart
index 3c54472..dfcdb4f 100644
--- a/test/http_date_test.dart
+++ b/test/http_date_test.dart
@@ -8,31 +8,31 @@
void main() {
group('format', () {
test('many values with 9', () {
- var date = DateTime.utc(2014, 9, 9, 9, 9, 9);
- var formatted = formatHttpDate(date);
+ final date = DateTime.utc(2014, 9, 9, 9, 9, 9);
+ final formatted = formatHttpDate(date);
expect(formatted, 'Tue, 09 Sep 2014 09:09:09 GMT');
- var parsed = parseHttpDate(formatted);
+ final parsed = parseHttpDate(formatted);
expect(parsed, date);
});
test('end of year', () {
- var date = DateTime.utc(1999, 12, 31, 23, 59, 59);
- var formatted = formatHttpDate(date);
+ final date = DateTime.utc(1999, 12, 31, 23, 59, 59);
+ final formatted = formatHttpDate(date);
expect(formatted, 'Fri, 31 Dec 1999 23:59:59 GMT');
- var parsed = parseHttpDate(formatted);
+ final parsed = parseHttpDate(formatted);
expect(parsed, date);
});
test('start of year', () {
- var date = DateTime.utc(2000, 1, 1, 0, 0, 0);
- var formatted = formatHttpDate(date);
+ final date = DateTime.utc(2000, 1, 1, 0, 0, 0);
+ final formatted = formatHttpDate(date);
expect(formatted, 'Sat, 01 Jan 2000 00:00:00 GMT');
- var parsed = parseHttpDate(formatted);
+ final parsed = parseHttpDate(formatted);
expect(parsed, date);
});
@@ -41,7 +41,7 @@
group('parse', () {
group('RFC 1123', () {
test('parses the example date', () {
- var date = parseHttpDate('Sun, 06 Nov 1994 08:49:37 GMT');
+ final date = parseHttpDate('Sun, 06 Nov 1994 08:49:37 GMT');
expect(date.day, equals(6));
expect(date.month, equals(DateTime.november));
expect(date.year, equals(1994));
@@ -145,7 +145,7 @@
group('RFC 850', () {
test('parses the example date', () {
- var date = parseHttpDate('Sunday, 06-Nov-94 08:49:37 GMT');
+ final date = parseHttpDate('Sunday, 06-Nov-94 08:49:37 GMT');
expect(date.day, equals(6));
expect(date.month, equals(DateTime.november));
expect(date.year, equals(1994));
@@ -237,7 +237,7 @@
group('asctime()', () {
test('parses the example date', () {
- var date = parseHttpDate('Sun Nov 6 08:49:37 1994');
+ final date = parseHttpDate('Sun Nov 6 08:49:37 1994');
expect(date.day, equals(6));
expect(date.month, equals(DateTime.november));
expect(date.year, equals(1994));
@@ -248,7 +248,7 @@
});
test('parses a date with a two-digit day', () {
- var date = parseHttpDate('Sun Nov 16 08:49:37 1994');
+ final date = parseHttpDate('Sun Nov 16 08:49:37 1994');
expect(date.day, equals(16));
expect(date.month, equals(DateTime.november));
expect(date.year, equals(1994));
diff --git a/test/media_type_test.dart b/test/media_type_test.dart
index a310f81..ceca7b9 100644
--- a/test/media_type_test.dart
+++ b/test/media_type_test.dart
@@ -8,7 +8,7 @@
void main() {
group('parse', () {
test('parses a simple MIME type', () {
- var type = MediaType.parse('text/plain');
+ final type = MediaType.parse('text/plain');
expect(type.type, equals('text'));
expect(type.subtype, equals('plain'));
});
@@ -34,13 +34,13 @@
});
test('parses parameters', () {
- var type = MediaType.parse('text/plain;foo=bar;baz=bang');
+ final type = MediaType.parse('text/plain;foo=bar;baz=bang');
expect(type.mimeType, equals('text/plain'));
expect(type.parameters, equals({'foo': 'bar', 'baz': 'bang'}));
});
test('allows whitespace around the semicolon', () {
- var type = MediaType.parse('text/plain ; foo=bar ; baz=bang');
+ final type = MediaType.parse('text/plain ; foo=bar ; baz=bang');
expect(type.mimeType, equals('text/plain'));
expect(type.parameters, equals({'foo': 'bar', 'baz': 'bang'}));
});
@@ -60,7 +60,7 @@
});
test('parses quoted parameters', () {
- var type =
+ final type =
MediaType.parse('text/plain; foo="bar space"; baz="bang\\\\escape"');
expect(type.mimeType, equals('text/plain'));
expect(
@@ -68,14 +68,14 @@
});
test('lower-cases type and subtype', () {
- var type = MediaType.parse('TeXt/pLaIn');
+ final type = MediaType.parse('TeXt/pLaIn');
expect(type.type, equals('text'));
expect(type.subtype, equals('plain'));
expect(type.mimeType, equals('text/plain'));
});
test('records parameters as case-insensitive', () {
- var type = MediaType.parse('test/plain;FoO=bar;bAz=bang');
+ final type = MediaType.parse('test/plain;FoO=bar;bAz=bang');
expect(type.parameters, equals({'FoO': 'bar', 'bAz': 'bang'}));
expect(type.parameters, containsPair('foo', 'bar'));
expect(type.parameters, containsPair('baz', 'bang'));
@@ -89,7 +89,7 @@
});
test('uses the existing fields by default', () {
- var newType = type.change();
+ final newType = type.change();
expect(newType.type, equals('text'));
expect(newType.subtype, equals('plain'));
expect(newType.parameters, equals({'foo': 'bar', 'baz': 'bang'}));
@@ -104,7 +104,7 @@
});
test('[mimeType] overrides the existing type and subtype', () {
- var newType = type.change(mimeType: 'image/png');
+ final newType = type.change(mimeType: 'image/png');
expect(newType.type, equals('image'));
expect(newType.subtype, equals('png'));
});
@@ -120,7 +120,7 @@
});
test('[clearParameters] with [parameters] removes before adding', () {
- var newType =
+ final newType =
type.change(parameters: {'foo': 'zap'}, clearParameters: true);
expect(newType.parameters, equals({'foo': 'zap'}));
});