Fix tests for ANSI terminals (#23906)
diff --git a/packages/flutter_tools/test/application_package_test.dart b/packages/flutter_tools/test/application_package_test.dart
index 3b15cc3..7c3c65a 100644
--- a/packages/flutter_tools/test/application_package_test.dart
+++ b/packages/flutter_tools/test/application_package_test.dart
@@ -6,6 +6,7 @@
import 'package:file/file.dart';
import 'package:file/memory.dart';
+import 'package:flutter_tools/src/base/platform.dart';
import 'package:mockito/mockito.dart';
import 'package:flutter_tools/src/application_package.dart';
@@ -18,6 +19,11 @@
import 'src/common.dart';
import 'src/context.dart';
+final Generator _kNoColorTerminalPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+final Map<Type, Generator> noColorTerminalOverride = <Type, Generator>{
+ Platform: _kNoColorTerminalPlatform,
+};
+
void main() {
group('ApkManifestData', () {
test('Select explicity enabled activity', () {
@@ -38,13 +44,14 @@
final BufferLogger logger = context[Logger];
expect(
logger.errorText, 'Error running io.flutter.examples.hello_world. Default activity not found\n');
- });
+ }, overrides: noColorTerminalOverride);
});
group('PrebuiltIOSApp', () {
final Map<Type, Generator> overrides = <Type, Generator>{
FileSystem: () => MemoryFileSystem(),
- IOSWorkflow: () => MockIosWorkFlow()
+ IOSWorkflow: () => MockIosWorkFlow(),
+ Platform: _kNoColorTerminalPlatform,
};
testUsingContext('Error on non-existing file', () {
final PrebuiltIOSApp iosApp =
diff --git a/packages/flutter_tools/test/base/logger_test.dart b/packages/flutter_tools/test/base/logger_test.dart
index 800cb0d..923b5c7 100644
--- a/packages/flutter_tools/test/base/logger_test.dart
+++ b/packages/flutter_tools/test/base/logger_test.dart
@@ -14,6 +14,8 @@
import '../src/context.dart';
import '../src/mocks.dart';
+final Generator _kNoAnsiPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+
void main() {
final String red = RegExp.escape(AnsiTerminal.red);
final String bold = RegExp.escape(AnsiTerminal.bold);
@@ -35,7 +37,7 @@
expect(mockLogger.errorText, matches( r'^\[ (?: {0,2}\+[0-9]{1,3} ms| )\] Helpless!\n$'));
}, overrides: <Type, Generator> {
OutputPreferences: () => OutputPreferences(showColor: false),
- Platform: () => FakePlatform()..stdoutSupportsAnsi = false,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('ANSI colored errors', () async {
@@ -227,6 +229,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Error logs are wrapped and can be indented.', () async {
@@ -245,6 +248,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Error logs are wrapped and can have hanging indent.', () async {
@@ -263,6 +267,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Error logs are wrapped, indented, and can have hanging indent.', () async {
@@ -281,6 +286,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Stdout logs are wrapped', () async {
@@ -296,6 +302,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Stdout logs are wrapped and can be indented.', () async {
@@ -314,6 +321,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Stdout logs are wrapped and can have hanging indent.', () async {
@@ -332,6 +340,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Stdout logs are wrapped, indented, and can have hanging indent.', () async {
@@ -350,6 +359,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40, showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Error logs are red', () async {
@@ -399,6 +409,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('Stdout startProgress handle null inputs on regular terminal', () async {
@@ -416,6 +427,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('SummaryStatus works when cancelled', () async {
@@ -438,7 +450,7 @@
// Verify that stopping or canceling multiple times throws.
expect(() { summaryStatus.cancel(); }, throwsA(isInstanceOf<AssertionError>()));
expect(() { summaryStatus.stop(); }, throwsA(isInstanceOf<AssertionError>()));
- }, overrides: <Type, Generator>{Stdio: () => mockStdio});
+ }, overrides: <Type, Generator>{Stdio: () => mockStdio, Platform: _kNoAnsiPlatform});
testUsingContext('SummaryStatus works when stopped', () async {
summaryStatus.start();
@@ -461,7 +473,7 @@
// Verify that stopping or canceling multiple times throws.
expect(() { summaryStatus.stop(); }, throwsA(isInstanceOf<AssertionError>()));
expect(() { summaryStatus.cancel(); }, throwsA(isInstanceOf<AssertionError>()));
- }, overrides: <Type, Generator>{Stdio: () => mockStdio});
+ }, overrides: <Type, Generator>{Stdio: () => mockStdio, Platform: _kNoAnsiPlatform});
testUsingContext('sequential startProgress calls with StdoutLogger', () async {
context[Logger].startProgress('AAA')..stop();
@@ -473,6 +485,7 @@
Logger: () => StdoutLogger(),
OutputPreferences: () => OutputPreferences(showColor: false),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('sequential startProgress calls with VerboseLogger and StdoutLogger', () async {
@@ -488,6 +501,7 @@
}, overrides: <Type, Generator>{
Logger: () => VerboseLogger(StdoutLogger()),
Stdio: () => mockStdio,
+ Platform: _kNoAnsiPlatform,
});
testUsingContext('sequential startProgress calls with BufferLogger', () async {
@@ -497,6 +511,7 @@
expect(logger.statusText, 'AAA\nBBB\n');
}, overrides: <Type, Generator>{
Logger: () => BufferLogger(),
+ Platform: _kNoAnsiPlatform,
});
});
}
diff --git a/packages/flutter_tools/test/base/process_test.dart b/packages/flutter_tools/test/base/process_test.dart
index 5d459de..f01f5bc 100644
--- a/packages/flutter_tools/test/base/process_test.dart
+++ b/packages/flutter_tools/test/base/process_test.dart
@@ -4,6 +4,7 @@
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/logger.dart';
+import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/base/process.dart';
import 'package:flutter_tools/src/base/terminal.dart';
import 'package:mockito/mockito.dart';
@@ -86,6 +87,7 @@
Logger: () => mockLogger,
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 40),
+ Platform: () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false
});
});
}
diff --git a/packages/flutter_tools/test/commands/analyze_once_test.dart b/packages/flutter_tools/test/commands/analyze_once_test.dart
index 1525f2d..7c52c44 100644
--- a/packages/flutter_tools/test/commands/analyze_once_test.dart
+++ b/packages/flutter_tools/test/commands/analyze_once_test.dart
@@ -18,6 +18,11 @@
/// Test case timeout for tests involving project analysis.
const Timeout allowForSlowAnalyzeTests = Timeout.factor(5.0);
+final Generator _kNoColorTerminalPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+final Map<Type, Generator> noColorTerminalOverride = <Type, Generator>{
+ Platform: _kNoColorTerminalPlatform,
+};
+
void main() {
final String analyzerSeparator = platform.isWindows ? '-' : '•';
@@ -99,7 +104,7 @@
exitMessageContains: '2 issues found.',
toolExit: true,
);
- }, timeout: allowForSlowAnalyzeTests);
+ }, timeout: allowForSlowAnalyzeTests, overrides: noColorTerminalOverride);
// Analyze in the current directory - no arguments
testUsingContext('working directory with local options', () async {
@@ -126,7 +131,7 @@
exitMessageContains: '3 issues found.',
toolExit: true,
);
- }, timeout: allowForSlowAnalyzeTests);
+ }, timeout: allowForSlowAnalyzeTests, overrides: noColorTerminalOverride);
testUsingContext('no duplicate issues', () async {
final Directory tempDir = fs.systemTempDirectory.createTempSync('flutter_analyze_once_test_2.').absolute;
@@ -160,7 +165,7 @@
} finally {
tryToDelete(tempDir);
}
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('returns no issues when source is error-free', () async {
const String contents = '''
@@ -177,7 +182,7 @@
} finally {
tryToDelete(tempDir);
}
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('returns no issues for todo comments', () async {
const String contents = '''
@@ -195,7 +200,7 @@
} finally {
tryToDelete(tempDir);
}
- });
+ }, overrides: noColorTerminalOverride);
});
}
diff --git a/packages/flutter_tools/test/commands/create_test.dart b/packages/flutter_tools/test/commands/create_test.dart
index b90c998..1c72071 100644
--- a/packages/flutter_tools/test/commands/create_test.dart
+++ b/packages/flutter_tools/test/commands/create_test.dart
@@ -9,6 +9,7 @@
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/net.dart';
+import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/commands/create.dart';
import 'package:flutter_tools/src/dart/sdk.dart';
@@ -22,6 +23,10 @@
const String frameworkRevision = '12345678';
const String frameworkChannel = 'omega';
+final Generator _kNoColorTerminalPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+final Map<Type, Generator> noColorTerminalOverride = <Type, Generator> {
+ Platform: _kNoColorTerminalPlatform,
+};
void main() {
Directory tempDir;
@@ -109,7 +114,7 @@
'.ios/',
]),
throwsToolExit(message: 'Sorry, unable to detect the type of project to recreate'));
- }, timeout: allowForRemotePubInvocation);
+ }, timeout: allowForRemotePubInvocation, overrides: noColorTerminalOverride);
testUsingContext('Will create an app project if non-empty non-project directory exists without .metadata', () async {
await projectDir.absolute.childDirectory('blag').create(recursive: true);
@@ -438,6 +443,7 @@
expect(sdkMetaContents, contains('/bin/cache/dart-sdk/lib/core"'));
}, overrides: <Type, Generator>{
FlutterVersion: () => mockFlutterVersion,
+ Platform: _kNoColorTerminalPlatform,
}, timeout: allowForCreateFlutterProject);
testUsingContext('has correct content and formatting with app template', () async {
@@ -508,6 +514,7 @@
expect(sdkMetaContents, contains('/bin/cache/dart-sdk/lib/core"'));
}, overrides: <Type, Generator>{
FlutterVersion: () => mockFlutterVersion,
+ Platform: _kNoColorTerminalPlatform,
}, timeout: allowForCreateFlutterProject);
testUsingContext('can re-gen default template over existing project', () async {
diff --git a/packages/flutter_tools/test/commands/doctor_test.dart b/packages/flutter_tools/test/commands/doctor_test.dart
index 11b830e..6f5e248 100644
--- a/packages/flutter_tools/test/commands/doctor_test.dart
+++ b/packages/flutter_tools/test/commands/doctor_test.dart
@@ -5,6 +5,7 @@
import 'dart:async';
import 'package:flutter_tools/src/base/file_system.dart';
+import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/base/terminal.dart';
import 'package:flutter_tools/src/doctor.dart';
import 'package:flutter_tools/src/vscode/vscode.dart';
@@ -13,6 +14,11 @@
import '../src/common.dart';
import '../src/context.dart';
+final Generator _kNoColorOutputPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+final Map<Type, Generator> noColorTerminalOverride = <Type, Generator>{
+ Platform: _kNoColorOutputPlatform
+};
+
void main() {
group('doctor', () {
testUsingContext('intellij validator', () async {
@@ -34,7 +40,7 @@
.firstWhere((ValidationMessage m) => m.message.startsWith('Flutter '));
expect(message.message, contains('Flutter plugin version 0.1.3'));
expect(message.message, contains('recommended minimum version'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('vs code validator when both installed', () async {
final ValidationResult result = await VsCodeValidatorTestTargets.installedWithExtension.validate();
@@ -49,7 +55,7 @@
message = result.messages
.firstWhere((ValidationMessage m) => m.message.startsWith('Flutter '));
expect(message.message, 'Flutter extension version 4.5.6');
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('vs code validator when 64bit installed', () async {
expect(VsCodeValidatorTestTargets.installedWithExtension64bit.title, 'VS Code, 64-bit edition');
@@ -65,7 +71,7 @@
message = result.messages
.firstWhere((ValidationMessage m) => m.message.startsWith('Flutter '));
expect(message.message, 'Flutter extension version 4.5.6');
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('vs code validator when extension missing', () async {
final ValidationResult result = await VsCodeValidatorTestTargets.installedWithoutExtension.validate();
@@ -80,7 +86,7 @@
message = result.messages
.firstWhere((ValidationMessage m) => m.message.startsWith('Flutter '));
expect(message.message, startsWith('Flutter extension not installed'));
- });
+ }, overrides: noColorTerminalOverride);
});
group('doctor with overriden validators', () {
@@ -95,7 +101,8 @@
'• No issues found!\n'
));
}, overrides: <Type, Generator>{
- DoctorValidatorsProvider: () => FakeDoctorValidatorsProvider()
+ DoctorValidatorsProvider: () => FakeDoctorValidatorsProvider(),
+ Platform: _kNoColorOutputPlatform,
});
});
@@ -112,7 +119,7 @@
'\n'
'• No issues found!\n'
));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate non-verbose output format when only one category fails', () async {
expect(await FakeSinglePassingDoctor().diagnose(verbose: false), isTrue);
@@ -123,7 +130,7 @@
'\n'
'! Doctor found issues in 1 category.\n'
));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate non-verbose output format for a passing run', () async {
expect(await FakePassingDoctor().diagnose(verbose: false), isTrue);
@@ -139,7 +146,7 @@
'\n'
'! Doctor found issues in 2 categories.\n'
));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate non-verbose output format', () async {
expect(await FakeDoctor().diagnose(verbose: false), isFalse);
@@ -160,7 +167,7 @@
'\n'
'! Doctor found issues in 4 categories.\n'
));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate verbose output format', () async {
expect(await FakeDoctor().diagnose(verbose: true), isFalse);
@@ -190,7 +197,7 @@
'\n'
'! Doctor found issues in 4 categories.\n'
));
- });
+ }, overrides: noColorTerminalOverride);
});
testUsingContext('validate non-verbose output wrapping', () async {
@@ -224,6 +231,7 @@
));
}, overrides: <Type, Generator>{
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 30),
+ Platform: _kNoColorOutputPlatform,
});
testUsingContext('validate verbose output wrapping', () async {
@@ -268,6 +276,7 @@
));
}, overrides: <Type, Generator>{
OutputPreferences: () => OutputPreferences(wrapText: true, wrapColumn: 30),
+ Platform: _kNoColorOutputPlatform,
});
@@ -285,7 +294,7 @@
'\n'
'! Doctor found issues in 1 category.\n'
));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate merging assigns statusInfo and title', () async {
// There are two subvalidators. Only the second contains statusInfo.
@@ -297,7 +306,7 @@
'\n'
'• No issues found!\n'
));
- });
+ }, overrides: noColorTerminalOverride);
});
@@ -309,47 +318,47 @@
testUsingContext('validate installed + installed = installed', () async {
expect(await FakeSmallGroupDoctor(installed, installed).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[✓]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate installed + partial = partial', () async {
expect(await FakeSmallGroupDoctor(installed, partial).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate installed + missing = partial', () async {
expect(await FakeSmallGroupDoctor(installed, missing).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate partial + installed = partial', () async {
expect(await FakeSmallGroupDoctor(partial, installed).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate partial + partial = partial', () async {
expect(await FakeSmallGroupDoctor(partial, partial).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate partial + missing = partial', () async {
expect(await FakeSmallGroupDoctor(partial, missing).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate missing + installed = partial', () async {
expect(await FakeSmallGroupDoctor(missing, installed).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate missing + partial = partial', () async {
expect(await FakeSmallGroupDoctor(missing, partial).diagnose(), isTrue);
expect(testLogger.statusText, startsWith('[!]'));
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('validate missing + missing = missing', () async {
expect(await FakeSmallGroupDoctor(missing, missing).diagnose(), isFalse);
expect(testLogger.statusText, startsWith('[✗]'));
- });
+ }, overrides: noColorTerminalOverride);
});
}
diff --git a/packages/flutter_tools/test/compile_test.dart b/packages/flutter_tools/test/compile_test.dart
index 686fd0f..b1ca663 100644
--- a/packages/flutter_tools/test/compile_test.dart
+++ b/packages/flutter_tools/test/compile_test.dart
@@ -8,6 +8,7 @@
import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/context.dart';
import 'package:flutter_tools/src/base/logger.dart';
+import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/base/terminal.dart';
import 'package:flutter_tools/src/compile.dart';
import 'package:mockito/mockito.dart';
@@ -16,6 +17,8 @@
import 'src/common.dart';
import 'src/context.dart';
+final Generator _kNoColorTerminalPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+
void main() {
group('batch compile', () {
ProcessManager mockProcessManager;
@@ -58,6 +61,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('single dart failed compilation', () async {
@@ -81,6 +85,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('single dart abnormal compiler termination', () async {
@@ -107,6 +112,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
});
@@ -165,6 +171,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('single dart compile abnormally terminates', () async {
@@ -182,6 +189,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('compile and recompile', () async {
@@ -211,6 +219,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('compile and recompile twice', () async {
@@ -241,6 +250,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
});
@@ -333,6 +343,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
testUsingContext('compile expressions without awaiting', () async {
@@ -398,6 +409,7 @@
ProcessManager: () => mockProcessManager,
OutputPreferences: () => OutputPreferences(showColor: false),
Logger: () => BufferLogger(),
+ Platform: _kNoColorTerminalPlatform,
});
});
}
diff --git a/packages/flutter_tools/test/ios/mac_test.dart b/packages/flutter_tools/test/ios/mac_test.dart
index 85d9926..77aedff 100644
--- a/packages/flutter_tools/test/ios/mac_test.dart
+++ b/packages/flutter_tools/test/ios/mac_test.dart
@@ -17,6 +17,11 @@
import '../src/common.dart';
import '../src/context.dart';
+final Generator _kNoColorTerminalPlatform = () => FakePlatform.fromPlatform(const LocalPlatform())..stdoutSupportsAnsi = false;
+final Map<Type, Generator> noColorTerminalOverride = <Type, Generator>{
+ Platform: _kNoColorTerminalPlatform,
+};
+
class MockProcessManager extends Mock implements ProcessManager {}
class MockFile extends Mock implements File {}
class MockXcodeProjectInterpreter extends Mock implements XcodeProjectInterpreter {}
@@ -339,7 +344,7 @@
testLogger.errorText,
contains('No Provisioning Profile was found for your project\'s Bundle Identifier or your \ndevice.'),
);
- });
+ }, overrides: noColorTerminalOverride);
testUsingContext('No development team shows message', () async {
final XcodeBuildResult buildResult = XcodeBuildResult(
@@ -420,6 +425,6 @@
testLogger.errorText,
contains('Building a deployable iOS app requires a selected Development Team with a \nProvisioning Profile.'),
);
- });
+ }, overrides: noColorTerminalOverride);
});
}