Add info project validator status (#109169)

This commit is contained in:
Jesús S Guerrero 2022-08-09 10:59:06 -07:00 committed by GitHub
parent 0fa8f765e4
commit 5627e0d1f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 17 deletions

View File

@ -76,6 +76,7 @@ class ValidateProject {
case StatusProjectValidator.error: case StatusProjectValidator.error:
icon = '[✗]'; icon = '[✗]';
break; break;
case StatusProjectValidator.info:
case StatusProjectValidator.success: case StatusProjectValidator.success:
icon = '[✓]'; icon = '[✓]';
break; break;

View File

@ -153,24 +153,21 @@ class PubDependenciesProjectValidator extends ProjectValidator {
} }
} }
final String value;
if (dependencies.isNotEmpty) { if (dependencies.isNotEmpty) {
final String verb = dependencies.length == 1 ? 'is' : 'are'; final String verb = dependencies.length == 1 ? 'is' : 'are';
value = '${dependencies.join(', ')} $verb not hosted';
} else {
value = 'All pub dependencies are hosted on https://pub.dartlang.org';
}
result.add( result.add(
ProjectValidatorResult( ProjectValidatorResult(
name: name, name: name,
value: '${dependencies.join(', ')} $verb not hosted', value: value,
status: StatusProjectValidator.warning, status: StatusProjectValidator.info,
) )
); );
} else {
result.add(
const ProjectValidatorResult(
name: name,
value: 'All pub dependencies are hosted on https://pub.dartlang.org',
status: StatusProjectValidator.success,
)
);
}
return result; return result;
} }

View File

@ -7,6 +7,7 @@ enum StatusProjectValidator {
warning, warning,
success, success,
crash, crash,
info,
} }
class ProjectValidatorResult { class ProjectValidatorResult {

View File

@ -35,7 +35,7 @@ void main() {
const String expected = 'All pub dependencies are hosted on https://pub.dartlang.org'; const String expected = 'All pub dependencies are hosted on https://pub.dartlang.org';
expect(result.length, 1); expect(result.length, 1);
expect(result[0].value, expected); expect(result[0].value, expected);
expect(result[0].status, StatusProjectValidator.success); expect(result[0].status, StatusProjectValidator.info);
}); });
testWithoutContext('error when command dart pub deps fails', () async { testWithoutContext('error when command dart pub deps fails', () async {
@ -56,7 +56,7 @@ void main() {
expect(result[0].status, StatusProjectValidator.error); expect(result[0].status, StatusProjectValidator.error);
}); });
testWithoutContext('warning on dependencies not hosted', () async { testWithoutContext('info on dependencies not hosted', () async {
final ProcessManager processManager = FakeProcessManager.list(<FakeCommand>[ final ProcessManager processManager = FakeProcessManager.list(<FakeCommand>[
const FakeCommand( const FakeCommand(
command: <String>['dart', 'pub', 'deps', '--json'], command: <String>['dart', 'pub', 'deps', '--json'],
@ -71,7 +71,7 @@ void main() {
const String expected = 'dep1, dep2 are not hosted'; const String expected = 'dep1, dep2 are not hosted';
expect(result.length, 1); expect(result.length, 1);
expect(result[0].value, expected); expect(result[0].value, expected);
expect(result[0].status, StatusProjectValidator.warning); expect(result[0].status, StatusProjectValidator.info);
}); });
}); });
} }