Skip to content

Commit 70f110d

Browse files
jmagmanclocksmith
authored andcommitted
Add boxes around version freshness alerts (flutter#96152)
1 parent 54f369b commit 70f110d

File tree

2 files changed

+18
-35
lines changed

2 files changed

+18
-35
lines changed

packages/flutter_tools/lib/src/version.dart

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -879,15 +879,15 @@ class VersionFreshnessValidator {
879879
final String updateMessage;
880880
switch (remoteVersionStatus) {
881881
case VersionCheckResult.newVersionAvailable:
882-
updateMessage = newVersionAvailableMessage();
882+
updateMessage = _newVersionAvailableMessage;
883883
break;
884884
case VersionCheckResult.versionIsCurrent:
885885
case VersionCheckResult.unknown:
886886
updateMessage = versionOutOfDateMessage(frameworkAge);
887887
break;
888888
}
889889

890-
logger.printStatus(updateMessage, emphasis: true);
890+
logger.printBox(updateMessage);
891891
await Future.wait<void>(<Future<void>>[
892892
stamp.store(
893893
newTimeWarningWasPrinted: now,
@@ -900,26 +900,13 @@ class VersionFreshnessValidator {
900900

901901
@visibleForTesting
902902
String versionOutOfDateMessage(Duration frameworkAge) {
903-
String warning = 'WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.';
904-
// Append enough spaces to match the message box width.
905-
warning += ' ' * (74 - warning.length);
906-
907903
return '''
908-
╔════════════════════════════════════════════════════════════════════════════╗
909-
║ $warning
910-
║ ║
911-
║ To update to the latest version, run "flutter upgrade". ║
912-
╚════════════════════════════════════════════════════════════════════════════╝
913-
''';
914-
}
904+
WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.
915905
916-
@visibleForTesting
917-
String newVersionAvailableMessage() {
918-
return '''
919-
╔════════════════════════════════════════════════════════════════════════════╗
920-
║ A new version of Flutter is available! ║
921-
║ ║
922-
║ To update to the latest version, run "flutter upgrade". ║
923-
╚════════════════════════════════════════════════════════════════════════════╝
924-
''';
906+
To update to the latest version, run "flutter upgrade".''';
925907
}
908+
909+
const String _newVersionAvailableMessage = '''
910+
A new version of Flutter is available!
911+
912+
To update to the latest version, run "flutter upgrade".''';

packages/flutter_tools/test/general.shard/version_test.dart

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ void main() {
134134
expect(flutterVersion.getVersionString(redactUnknownBranches: true), '$channel/1234abcd');
135135
expect(flutterVersion.getBranchName(redactUnknownBranches: true), channel);
136136

137-
_expectVersionMessage('', testLogger);
137+
expect(testLogger.statusText, isEmpty);
138138
expect(processManager.hasRemainingExpectations, isFalse);
139139
}, overrides: <Type, Generator>{
140140
FlutterVersion: () => FlutterVersion(clock: _testClock),
@@ -160,7 +160,7 @@ void main() {
160160
latestFlutterCommitDate: getChannelOutOfDateVersion(),
161161
).run();
162162

163-
_expectVersionMessage('', logger);
163+
expect(logger.statusText, isEmpty);
164164
});
165165

166166
testWithoutContext('does not ping server when version stamp is up-to-date', () async {
@@ -181,7 +181,7 @@ void main() {
181181
latestFlutterCommitDate: getChannelUpToDateVersion(),
182182
).run();
183183

184-
_expectVersionMessage(newVersionAvailableMessage(), logger);
184+
expect(logger.statusText, contains('A new version of Flutter is available!'));
185185
expect(cache.setVersionStamp, true);
186186
});
187187

@@ -204,7 +204,7 @@ void main() {
204204
latestFlutterCommitDate: getChannelUpToDateVersion(),
205205
).run();
206206

207-
_expectVersionMessage('', logger);
207+
expect(logger.statusText, isEmpty);
208208
});
209209

210210
testWithoutContext('pings server when version stamp is missing', () async {
@@ -221,7 +221,7 @@ void main() {
221221
latestFlutterCommitDate: getChannelUpToDateVersion(),
222222
).run();
223223

224-
_expectVersionMessage(newVersionAvailableMessage(), logger);
224+
expect(logger.statusText, contains('A new version of Flutter is available!'));
225225
expect(cache.setVersionStamp, true);
226226
});
227227

@@ -243,7 +243,7 @@ void main() {
243243
latestFlutterCommitDate: getChannelUpToDateVersion(),
244244
).run();
245245

246-
_expectVersionMessage(newVersionAvailableMessage(), logger);
246+
expect(logger.statusText, contains('A new version of Flutter is available!'));
247247
});
248248

249249
testWithoutContext('does not print warning when unable to connect to server if not out of date', () async {
@@ -260,7 +260,7 @@ void main() {
260260
// latestFlutterCommitDate defaults to null because we failed to get remote version
261261
).run();
262262

263-
_expectVersionMessage('', logger);
263+
expect(logger.statusText, isEmpty);
264264
});
265265

266266
testWithoutContext('prints warning when unable to connect to server if really out of date', () async {
@@ -281,7 +281,8 @@ void main() {
281281
// latestFlutterCommitDate defaults to null because we failed to get remote version
282282
).run();
283283

284-
_expectVersionMessage(versionOutOfDateMessage(_testClock.now().difference(getChannelOutOfDateVersion())), logger);
284+
final Duration frameworkAge = _testClock.now().difference(getChannelOutOfDateVersion());
285+
expect(logger.statusText, contains('WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.'));
285286
});
286287

287288
group('$VersionCheckStamp for $channel', () {
@@ -593,11 +594,6 @@ void main() {
593594
});
594595
}
595596

596-
void _expectVersionMessage(String message, BufferLogger logger) {
597-
expect(logger.statusText.trim(), message.trim());
598-
logger.clear();
599-
}
600-
601597
class FakeCache extends Fake implements Cache {
602598
String versionStamp;
603599
bool setVersionStamp = false;

0 commit comments

Comments
 (0)