Eliminate analysis warnings in pkg/ code.

Change-Id: I571581bf16502c1698932c03313777aa8a9ee081
Reviewed-on: https://dart-review.googlesource.com/63983
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
Devon Carew 2018-07-06 21:28:07 +00:00 committed by commit-bot@chromium.org
parent 72f3abc239
commit 3e33c3d0fc
7 changed files with 50 additions and 54 deletions

View file

@ -109,7 +109,7 @@ class PubspecValidator {
Map<dynamic, YamlNode> _getDeclaredDependencies(
ErrorReporter reporter, Map<dynamic, YamlNode> contents, String key) {
YamlNode field = contents[key];
if (field == null) {
if (field == null || (field is YamlScalar && field.value == null)) {
return <String, YamlNode>{};
} else if (field is YamlMap) {
return field.nodes;

View file

@ -53,6 +53,25 @@ class PubspecValidatorTest extends Object with ResourceProviderMixin {
validator = new PubspecValidator(resourceProvider, source);
}
test_assetDirectoryDoesExists_noError() {
newFolder('/sample/assets/logos');
assertNoErrors('''
name: sample
flutter:
assets:
- assets/logos/
''');
}
test_assetDirectoryDoesNotExist_error() {
assertErrors('''
name: sample
flutter:
assets:
- assets/logos/
''', [PubspecWarningCode.ASSET_DIRECTORY_DOES_NOT_EXIST]);
}
test_assetDoesNotExist_path_error() {
assertErrors('''
name: sample
@ -159,44 +178,10 @@ flutter:
''');
}
test_assetDirectoryDoesNotExist_error() {
assertErrors('''
name: sample
flutter:
assets:
- assets/logos/
''', [PubspecWarningCode.ASSET_DIRECTORY_DOES_NOT_EXIST]);
}
test_assetDirectoryDoesExists_noError() {
newFolder('/sample/assets/logos');
test_dependenciesField_empty() {
assertNoErrors('''
name: sample
flutter:
assets:
- assets/logos/
''');
}
test_dependenciesFieldNotMap_dev_error_bool() {
assertErrors('''
name: sample
dev_dependencies: true
''', [PubspecWarningCode.DEPENDENCIES_FIELD_NOT_MAP]);
}
test_dependenciesFieldNotMap_dev_error_empty() {
assertErrors('''
name: sample
dev_dependencies:
''', [PubspecWarningCode.DEPENDENCIES_FIELD_NOT_MAP]);
}
test_dependenciesFieldNotMap_dev_noError() {
assertNoErrors('''
name: sample
dev_dependencies:
a: any
dependencies:
''');
}
@ -207,13 +192,6 @@ dependencies: true
''', [PubspecWarningCode.DEPENDENCIES_FIELD_NOT_MAP]);
}
test_dependenciesFieldNotMap_error_empty() {
assertErrors('''
name: sample
dependencies:
''', [PubspecWarningCode.DEPENDENCIES_FIELD_NOT_MAP]);
}
test_dependenciesFieldNotMap_noError() {
assertNoErrors('''
name: sample
@ -222,11 +200,26 @@ dependencies:
''');
}
test_flutterFieldNotMap_error_bool() {
test_devDependenciesField_empty() {
assertNoErrors('''
name: sample
dev_dependencies:
''');
}
test_devDependenciesFieldNotMap_dev_error_bool() {
assertErrors('''
name: sample
flutter: true
''', [PubspecWarningCode.FLUTTER_FIELD_NOT_MAP]);
dev_dependencies: true
''', [PubspecWarningCode.DEPENDENCIES_FIELD_NOT_MAP]);
}
test_devDependenciesFieldNotMap_dev_noError() {
assertNoErrors('''
name: sample
dev_dependencies:
a: any
''');
}
test_flutterField_empty_noError() {
@ -242,6 +235,13 @@ flutter:
''');
}
test_flutterFieldNotMap_error_bool() {
assertErrors('''
name: sample
flutter: true
''', [PubspecWarningCode.FLUTTER_FIELD_NOT_MAP]);
}
test_flutterFieldNotMap_noError() {
newFile('/sample/assets/my_icon.png');
assertNoErrors('''

View file

@ -128,7 +128,7 @@ void emitDart2js() {
out.write(escapeExampleContent(example));
} else if (example is Map) {
out.writeln(" const {");
example.forEach((String fileName, String content) {
example.forEach((fileName, content) {
out.writeln(" '$fileName': ");
out.write(escapeExampleContent(content));
out.writeln(",");

View file

@ -1,10 +1,9 @@
analyzer:
strong-mode: true
exclude:
- doc/api/**
- gen/**
- node_modules/**
- tool/input_sdk/**
- test/codegen/**
- test/samples/**
- test/transformer/hello_app/**
- tool/input_sdk/**

View file

@ -0,0 +1 @@
name: dev_compiler

View file

@ -3,8 +3,6 @@
# BSD-style license that can be found in the LICENSE file.
analyzer:
strong-mode: true
errors:
# Allow having TODOs in the code
todo: ignore
uses_dynamic_as_bottom: ignore

View file

@ -3,8 +3,6 @@
# BSD-style license that can be found in the LICENSE file.
analyzer:
strong-mode: true
errors:
# Allow having TODOs in the code
todo: ignore
uses_dynamic_as_bottom: ignore