Include VS Code + Android Studio URLs in the No IDE message (#69194)

This commit is contained in:
Danny Tuppeny 2020-10-28 18:17:06 +00:00 committed by GitHub
parent 92d9630eaf
commit e71655b7e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 4 deletions

View File

@ -34,7 +34,11 @@ class UserMessages {
// Messages used in NoIdeValidator
String get noIdeStatusInfo => 'No supported IDEs installed';
String get noIdeInstallationInfo => 'IntelliJ - https://www.jetbrains.com/idea/';
List<String> get noIdeInstallationInfo => <String>[
'IntelliJ - https://www.jetbrains.com/idea/',
'Android Studio - https://developer.android.com/studio/',
'VS Code - https://code.visualstudio.com/',
];
// Messages used in IntellijValidator
String intellijStatusInfo(String version) => 'version $version';

View File

@ -769,9 +769,11 @@ class NoIdeValidator extends DoctorValidator {
@override
Future<ValidationResult> validate() async {
return ValidationResult(ValidationType.missing, <ValidationMessage>[
ValidationMessage(userMessages.noIdeInstallationInfo),
], statusInfo: userMessages.noIdeStatusInfo);
return ValidationResult(
ValidationType.missing,
userMessages.noIdeInstallationInfo.map((String ideInfo) => ValidationMessage(ideInfo)).toList(),
statusInfo: userMessages.noIdeStatusInfo,
);
}
}

View File

@ -85,6 +85,16 @@ void main() {
expect(message.isError, isFalse);
}, overrides: noColorTerminalOverride);
testUsingContext('No IDE Validator includes expected installation messages', () async {
final ValidationResult result = await NoIdeValidator().validate();
expect(result.type, ValidationType.missing);
expect(
result.messages.map((ValidationMessage vm) => vm.message),
UserMessages().noIdeInstallationInfo,
);
}, overrides: noColorTerminalOverride);
testUsingContext('vs code validator when 64bit installed', () async {
expect(VsCodeValidatorTestTargets.installedWithExtension64bit.title, 'VS Code, 64-bit edition');
final ValidationResult result = await VsCodeValidatorTestTargets.installedWithExtension64bit.validate();