Add boxes around version freshness alerts (#96152)
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index ec86fc4..42a2e54 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -879,7 +879,7 @@
final String updateMessage;
switch (remoteVersionStatus) {
case VersionCheckResult.newVersionAvailable:
- updateMessage = newVersionAvailableMessage();
+ updateMessage = _newVersionAvailableMessage;
break;
case VersionCheckResult.versionIsCurrent:
case VersionCheckResult.unknown:
@@ -887,7 +887,7 @@
break;
}
- logger.printStatus(updateMessage, emphasis: true);
+ logger.printBox(updateMessage);
await Future.wait<void>(<Future<void>>[
stamp.store(
newTimeWarningWasPrinted: now,
@@ -900,26 +900,13 @@
@visibleForTesting
String versionOutOfDateMessage(Duration frameworkAge) {
- String warning = 'WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.';
- // Append enough spaces to match the message box width.
- warning += ' ' * (74 - warning.length);
-
return '''
-╔════════════════════════════════════════════════════════════════════════════╗
-║ $warning ║
-║ ║
-║ To update to the latest version, run "flutter upgrade". ║
-╚════════════════════════════════════════════════════════════════════════════╝
-''';
+WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.
+
+To update to the latest version, run "flutter upgrade".''';
}
-@visibleForTesting
-String newVersionAvailableMessage() {
- return '''
-╔════════════════════════════════════════════════════════════════════════════╗
-║ A new version of Flutter is available! ║
-║ ║
-║ To update to the latest version, run "flutter upgrade". ║
-╚════════════════════════════════════════════════════════════════════════════╝
-''';
-}
+const String _newVersionAvailableMessage = '''
+A new version of Flutter is available!
+
+To update to the latest version, run "flutter upgrade".''';
diff --git a/packages/flutter_tools/test/general.shard/version_test.dart b/packages/flutter_tools/test/general.shard/version_test.dart
index af66ab9..e2cb8a8 100644
--- a/packages/flutter_tools/test/general.shard/version_test.dart
+++ b/packages/flutter_tools/test/general.shard/version_test.dart
@@ -134,7 +134,7 @@
expect(flutterVersion.getVersionString(redactUnknownBranches: true), '$channel/1234abcd');
expect(flutterVersion.getBranchName(redactUnknownBranches: true), channel);
- _expectVersionMessage('', testLogger);
+ expect(testLogger.statusText, isEmpty);
expect(processManager.hasRemainingExpectations, isFalse);
}, overrides: <Type, Generator>{
FlutterVersion: () => FlutterVersion(clock: _testClock),
@@ -160,7 +160,7 @@
latestFlutterCommitDate: getChannelOutOfDateVersion(),
).run();
- _expectVersionMessage('', logger);
+ expect(logger.statusText, isEmpty);
});
testWithoutContext('does not ping server when version stamp is up-to-date', () async {
@@ -181,7 +181,7 @@
latestFlutterCommitDate: getChannelUpToDateVersion(),
).run();
- _expectVersionMessage(newVersionAvailableMessage(), logger);
+ expect(logger.statusText, contains('A new version of Flutter is available!'));
expect(cache.setVersionStamp, true);
});
@@ -204,7 +204,7 @@
latestFlutterCommitDate: getChannelUpToDateVersion(),
).run();
- _expectVersionMessage('', logger);
+ expect(logger.statusText, isEmpty);
});
testWithoutContext('pings server when version stamp is missing', () async {
@@ -221,7 +221,7 @@
latestFlutterCommitDate: getChannelUpToDateVersion(),
).run();
- _expectVersionMessage(newVersionAvailableMessage(), logger);
+ expect(logger.statusText, contains('A new version of Flutter is available!'));
expect(cache.setVersionStamp, true);
});
@@ -243,7 +243,7 @@
latestFlutterCommitDate: getChannelUpToDateVersion(),
).run();
- _expectVersionMessage(newVersionAvailableMessage(), logger);
+ expect(logger.statusText, contains('A new version of Flutter is available!'));
});
testWithoutContext('does not print warning when unable to connect to server if not out of date', () async {
@@ -260,7 +260,7 @@
// latestFlutterCommitDate defaults to null because we failed to get remote version
).run();
- _expectVersionMessage('', logger);
+ expect(logger.statusText, isEmpty);
});
testWithoutContext('prints warning when unable to connect to server if really out of date', () async {
@@ -281,7 +281,8 @@
// latestFlutterCommitDate defaults to null because we failed to get remote version
).run();
- _expectVersionMessage(versionOutOfDateMessage(_testClock.now().difference(getChannelOutOfDateVersion())), logger);
+ final Duration frameworkAge = _testClock.now().difference(getChannelOutOfDateVersion());
+ expect(logger.statusText, contains('WARNING: your installation of Flutter is ${frameworkAge.inDays} days old.'));
});
group('$VersionCheckStamp for $channel', () {
@@ -593,11 +594,6 @@
});
}
-void _expectVersionMessage(String message, BufferLogger logger) {
- expect(logger.statusText.trim(), message.trim());
- logger.clear();
-}
-
class FakeCache extends Fake implements Cache {
String versionStamp;
bool setVersionStamp = false;