diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index ec86fc41e1..42a2e5427e 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart @@ -879,7 +879,7 @@ class VersionFreshnessValidator { final String updateMessage; switch (remoteVersionStatus) { case VersionCheckResult.newVersionAvailable: - updateMessage = newVersionAvailableMessage(); + updateMessage = _newVersionAvailableMessage; break; case VersionCheckResult.versionIsCurrent: case VersionCheckResult.unknown: @@ -887,7 +887,7 @@ class VersionFreshnessValidator { break; } - logger.printStatus(updateMessage, emphasis: true); + logger.printBox(updateMessage); await Future.wait(>[ stamp.store( newTimeWarningWasPrinted: now, @@ -900,26 +900,13 @@ class VersionFreshnessValidator { @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 af66ab95b7..e2cb8a8872 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 @@ void main() { expect(flutterVersion.getVersionString(redactUnknownBranches: true), '$channel/1234abcd'); expect(flutterVersion.getBranchName(redactUnknownBranches: true), channel); - _expectVersionMessage('', testLogger); + expect(testLogger.statusText, isEmpty); expect(processManager.hasRemainingExpectations, isFalse); }, overrides: { FlutterVersion: () => FlutterVersion(clock: _testClock), @@ -160,7 +160,7 @@ void main() { 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 @@ void main() { 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 @@ void main() { latestFlutterCommitDate: getChannelUpToDateVersion(), ).run(); - _expectVersionMessage('', logger); + expect(logger.statusText, isEmpty); }); testWithoutContext('pings server when version stamp is missing', () async { @@ -221,7 +221,7 @@ void main() { 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 @@ void main() { 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 @@ void main() { // 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 @@ void main() { // 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 main() { }); } -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;