Unverified Commit a753d09c authored by Anis Alibegić's avatar Anis Alibegić Committed by GitHub

Fixed several typos (#89485)

parent 2382b4c0
...@@ -314,7 +314,7 @@ void main() { ...@@ -314,7 +314,7 @@ void main() {
}); });
test('does not upload results on non-supported branches', () async { test('does not upload results on non-supported branches', () async {
// Any network failure would cause the upoad to fail // Any network failure would cause the upload to fail
mockClient = MockClient((Request request) async => Response('', 500)); mockClient = MockClient((Request request) async => Response('', 500));
cocoon = Cocoon( cocoon = Cocoon(
...@@ -339,7 +339,7 @@ void main() { ...@@ -339,7 +339,7 @@ void main() {
}); });
test('does not update for staging test', () async { test('does not update for staging test', () async {
// Any network failure would cause the upoad to fail // Any network failure would cause the upload to fail
mockClient = MockClient((Request request) async => Response('', 500)); mockClient = MockClient((Request request) async => Response('', 500));
cocoon = Cocoon( cocoon = Cocoon(
......
...@@ -114,8 +114,8 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK ...@@ -114,8 +114,8 @@ $otherComments static const LogicalKeyboardKey $constantName = LogicalKeyboardK
final StringBuffer result = StringBuffer(); final StringBuffer result = StringBuffer();
for (final SynonymKeyInfo synonymInfo in synonyms.values) { for (final SynonymKeyInfo synonymInfo in synonyms.values) {
for (final LogicalKeyEntry key in synonymInfo.keys) { for (final LogicalKeyEntry key in synonymInfo.keys) {
final LogicalKeyEntry synonnym = logicalData.entryByName(synonymInfo.name); final LogicalKeyEntry synonym = logicalData.entryByName(synonymInfo.name);
result.writeln(' ${key.constantName}: ${synonnym.constantName},'); result.writeln(' ${key.constantName}: ${synonym.constantName},');
} }
} }
return result.toString(); return result.toString();
......
...@@ -447,7 +447,7 @@ class _Icon { ...@@ -447,7 +447,7 @@ class _Icon {
flutterId = id.replaceFirst(rewritePair.key, identifierExactRewrites[rewritePair.key]!); flutterId = id.replaceFirst(rewritePair.key, identifierExactRewrites[rewritePair.key]!);
} }
} }
// Prefix identifer rewrites. // Prefix identifier rewrites.
for (final MapEntry<String, String> rewritePair for (final MapEntry<String, String> rewritePair
in identifierPrefixRewrites.entries) { in identifierPrefixRewrites.entries) {
if (id.startsWith(rewritePair.key)) { if (id.startsWith(rewritePair.key)) {
......
...@@ -649,7 +649,7 @@ class DebugReassembleConfig { ...@@ -649,7 +649,7 @@ class DebugReassembleConfig {
this.widgetName, this.widgetName,
}) { }) {
if (!kDebugMode) { if (!kDebugMode) {
throw FlutterError('Cannot instaniate DebugReassembleConfig in profile or release mode.'); throw FlutterError('Cannot instantiate DebugReassembleConfig in profile or release mode.');
} }
} }
......
...@@ -357,7 +357,7 @@ class BottomNavigationBar extends StatefulWidget { ...@@ -357,7 +357,7 @@ class BottomNavigationBar extends StatefulWidget {
/// bottom navigation bar defaults for an entire application. /// bottom navigation bar defaults for an entire application.
/// * [BottomNavigationBarTheme] - which can be used to specify /// * [BottomNavigationBarTheme] - which can be used to specify
/// bottom navigation bar defaults for a widget subtree. /// bottom navigation bar defaults for a widget subtree.
/// * [MediaQuery.of] - which can be used to determing the current /// * [MediaQuery.of] - which can be used to determine the current
/// orientation. /// orientation.
final BottomNavigationBarLandscapeLayout? landscapeLayout; final BottomNavigationBarLandscapeLayout? landscapeLayout;
......
...@@ -56,7 +56,7 @@ enum StepperType { ...@@ -56,7 +56,7 @@ enum StepperType {
} }
/// Container for all the information necessary to build a Stepper widget's /// Container for all the information necessary to build a Stepper widget's
/// foward and backward controls for any given step. /// forward and backward controls for any given step.
/// ///
/// Used by [Stepper.controlsBuilder]. /// Used by [Stepper.controlsBuilder].
@immutable @immutable
......
...@@ -574,7 +574,7 @@ abstract class Layer extends AbstractNode with DiagnosticableTreeMixin { ...@@ -574,7 +574,7 @@ abstract class Layer extends AbstractNode with DiagnosticableTreeMixin {
/// A handle to prevent a [Layer]'s platform graphics resources from being /// A handle to prevent a [Layer]'s platform graphics resources from being
/// disposed. /// disposed.
/// ///
/// [Layer] objects retain native resourses such as [EngineLayer]s and [Picture] /// [Layer] objects retain native resources such as [EngineLayer]s and [Picture]
/// objects. These objects may in turn retain large chunks of texture memory, /// objects. These objects may in turn retain large chunks of texture memory,
/// either directly or indirectly. /// either directly or indirectly.
/// ///
......
...@@ -32,7 +32,7 @@ enum AndroidOverscrollIndicator { ...@@ -32,7 +32,7 @@ enum AndroidOverscrollIndicator {
stretch, stretch,
/// Utilizes a [GlowingOverscrollIndicator], painting a glowing semi circle on /// Utilizes a [GlowingOverscrollIndicator], painting a glowing semi circle on
/// top of the [ScrollView] in response to oversfcrolling. /// top of the [ScrollView] in response to overscrolling.
glow, glow,
} }
......
...@@ -422,7 +422,7 @@ void main() { ...@@ -422,7 +422,7 @@ void main() {
await tester.pump(const Duration(milliseconds: 200)); await tester.pump(const Duration(milliseconds: 200));
}); });
testWidgets('animation doesnt repeat more than specified', (WidgetTester tester) async { testWidgets("animation doesn't repeat more than specified", (WidgetTester tester) async {
final MockCodec mockCodec = MockCodec(); final MockCodec mockCodec = MockCodec();
mockCodec.frameCount = 2; mockCodec.frameCount = 2;
mockCodec.repetitionCount = 0; mockCodec.repetitionCount = 0;
......
...@@ -1899,7 +1899,7 @@ void main() { ...@@ -1899,7 +1899,7 @@ void main() {
expect( expect(
data.isModifierPressed(key, side: modifierTests[modifier]!.side), data.isModifierPressed(key, side: modifierTests[modifier]!.side),
isFalse, isFalse,
reason: "${isLeft ? 'left' : 'right'} $key should not be pressed with metaState $modifier, wwhen key is ${isDown ? 'down' : 'up'}, but is.", reason: "${isLeft ? 'left' : 'right'} $key should not be pressed with metaState $modifier, when key is ${isDown ? 'down' : 'up'}, but is.",
); );
} }
} }
...@@ -2131,7 +2131,7 @@ void main() { ...@@ -2131,7 +2131,7 @@ void main() {
expect( expect(
data.isModifierPressed(key, side: modifierTests[modifier]!.side), data.isModifierPressed(key, side: modifierTests[modifier]!.side),
isFalse, isFalse,
reason: "${isLeft ? 'left' : 'right'} $key should not be pressed with metaState $modifier, wwhen key is ${isDown ? 'down' : 'up'}, but is.", reason: "${isLeft ? 'left' : 'right'} $key should not be pressed with metaState $modifier, when key is ${isDown ? 'down' : 'up'}, but is.",
); );
} }
} }
......
...@@ -1837,7 +1837,7 @@ void main() { ...@@ -1837,7 +1837,7 @@ void main() {
expect(onDragCompletedCalled, isTrue); expect(onDragCompletedCalled, isTrue);
}); });
testWidgets('Drag and drop - allow pass thru of unaccepted data test', (WidgetTester tester) async { testWidgets('Drag and drop - allow pass through of unaccepted data test', (WidgetTester tester) async {
final List<int> acceptedInts = <int>[]; final List<int> acceptedInts = <int>[];
final List<DragTargetDetails<int>> acceptedIntsDetails = <DragTargetDetails<int>>[]; final List<DragTargetDetails<int>> acceptedIntsDetails = <DragTargetDetails<int>>[];
final List<double> acceptedDoubles = <double>[]; final List<double> acceptedDoubles = <double>[];
...@@ -1971,7 +1971,7 @@ void main() { ...@@ -1971,7 +1971,7 @@ void main() {
expect(find.text('DoubleDragging'), findsNothing); expect(find.text('DoubleDragging'), findsNothing);
}); });
testWidgets('Drag and drop - allow pass thru of unaccepted data twice test', (WidgetTester tester) async { testWidgets('Drag and drop - allow pass through of unaccepted data twice test', (WidgetTester tester) async {
final List<DragTargetData> acceptedDragTargetDatas = <DragTargetData>[]; final List<DragTargetData> acceptedDragTargetDatas = <DragTargetData>[];
final List<DragTargetDetails<DragTargetData>> acceptedDragTargetDataDetails = <DragTargetDetails<DragTargetData>>[]; final List<DragTargetDetails<DragTargetData>> acceptedDragTargetDataDetails = <DragTargetDetails<DragTargetData>>[];
final List<ExtendedDragTargetData> acceptedExtendedDragTargetDatas = <ExtendedDragTargetData>[]; final List<ExtendedDragTargetData> acceptedExtendedDragTargetDatas = <ExtendedDragTargetData>[];
......
...@@ -1621,7 +1621,7 @@ void main() { ...@@ -1621,7 +1621,7 @@ void main() {
expect(states, <String>['deactivate', 'dispose']); expect(states, <String>['deactivate', 'dispose']);
}); });
testWidgets('RenderObjectElement.unmount dispsoes of its renderObject', (WidgetTester tester) async { testWidgets('RenderObjectElement.unmount disposes of its renderObject', (WidgetTester tester) async {
await tester.pumpWidget(const Placeholder()); await tester.pumpWidget(const Placeholder());
final RenderObjectElement element = tester.allElements.whereType<RenderObjectElement>().first; final RenderObjectElement element = tester.allElements.whereType<RenderObjectElement>().first;
final RenderObject renderObject = element.renderObject; final RenderObject renderObject = element.renderObject;
......
...@@ -974,7 +974,7 @@ void main() { ...@@ -974,7 +974,7 @@ void main() {
expect(driver.waitUntilFirstFrameRasterized(), throwsUnimplementedError); expect(driver.waitUntilFirstFrameRasterized(), throwsUnimplementedError);
}); });
test('appIsoloate', () async { test('appIsolate', () async {
expect(() => driver.appIsolate.extensionRPCs, throwsUnsupportedError); expect(() => driver.appIsolate.extensionRPCs, throwsUnsupportedError);
}); });
......
...@@ -59,7 +59,7 @@ export 'package:test_api/test_api.dart' hide ...@@ -59,7 +59,7 @@ export 'package:test_api/test_api.dart' hide
/// Signature for callback to [testWidgets] and [benchmarkWidgets]. /// Signature for callback to [testWidgets] and [benchmarkWidgets].
typedef WidgetTesterCallback = Future<void> Function(WidgetTester widgetTester); typedef WidgetTesterCallback = Future<void> Function(WidgetTester widgetTester);
// Return the last element that satisifes `test`, or return null if not found. // Return the last element that satisfies `test`, or return null if not found.
E? _lastWhereOrNull<E>(Iterable<E> list, bool Function(E) test) { E? _lastWhereOrNull<E>(Iterable<E> list, bool Function(E) test) {
late E result; late E result;
bool foundMatching = false; bool foundMatching = false;
......
...@@ -187,7 +187,7 @@ Return a list of all connected devices. The `params` field will be a List; each ...@@ -187,7 +187,7 @@ Return a list of all connected devices. The `params` field will be a List; each
`category` is a string description of the kind of workflow the device supports. The current categories are "mobile", "web" and "desktop", or null if none. `category` is a string description of the kind of workflow the device supports. The current categories are "mobile", "web" and "desktop", or null if none.
`platformType` is a string description of the platform sub-folder the device `platformType` is a string description of the platform sub-folder the device
supports. The current catgetories are "android", "ios", "linux", "macos", supports. The current categories are "android", "ios", "linux", "macos",
"fuchsia", "windows", and "web". These are kept in sync with the response from `daemon.getSupportedPlatforms`. "fuchsia", "windows", and "web". These are kept in sync with the response from `daemon.getSupportedPlatforms`.
`ephemeral` is a boolean which indicates where the device needs to be manually connected to a development machine. For example, a physical Android device is ephemeral, but the "web" device (that is always present) is not. `ephemeral` is a boolean which indicates where the device needs to be manually connected to a development machine. For example, a physical Android device is ephemeral, but the "web" device (that is always present) is not.
......
...@@ -43,7 +43,7 @@ class Config { ...@@ -43,7 +43,7 @@ class Config {
); );
} }
/// Similiar to the default config constructor, but with some different /// Similar to the default config constructor, but with some different
/// behaviours: /// behaviours:
/// - will not delete the config if it's not valid JSON /// - will not delete the config if it's not valid JSON
/// - will log but also rethrow any exceptions while loading the JSON, so /// - will log but also rethrow any exceptions while loading the JSON, so
......
...@@ -328,8 +328,8 @@ class IosProject extends XcodeBasedProject { ...@@ -328,8 +328,8 @@ class IosProject extends XcodeBasedProject {
if (fromPlist != null && fromPlist.contains(r'$')) { if (fromPlist != null && fromPlist.contains(r'$')) {
final Map<String, String>? allBuildSettings = await buildSettingsForBuildInfo(buildInfo); final Map<String, String>? allBuildSettings = await buildSettingsForBuildInfo(buildInfo);
if (allBuildSettings != null) { if (allBuildSettings != null) {
final String substituedVariable = substituteXcodeVariables(fromPlist, allBuildSettings); final String substitutedVariable = substituteXcodeVariables(fromPlist, allBuildSettings);
if (substituedVariable == bundleIdentifier) { if (substitutedVariable == bundleIdentifier) {
return true; return true;
} }
} }
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
] ]
}, },
"forwardPort": { "forwardPort": {
"description": "The command to be invoked to forward a specific device port to a port on the host device. The host port is available via ${hostPort} and the device port via ${devicePort}. On success, the command should stay running for the duration of the forwarding. The command will be terminated using SIGTERM when the forwarding should be stopped. When using ssh, make sure ssh quits when the forwarding fails since thats not the default behaviour.", "description": "The command to be invoked to forward a specific device port to a port on the host device. The host port is available via ${hostPort} and the device port via ${devicePort}. On success, the command should stay running for the duration of the forwarding. The command will be terminated using SIGTERM when the forwarding should be stopped. When using ssh, make sure ssh quits when the forwarding fails since that's not the default behaviour.",
"type": ["array", "null"], "type": ["array", "null"],
"items": { "items": {
"type": "string" "type": "string"
......
...@@ -77,7 +77,7 @@ void main() { ...@@ -77,7 +77,7 @@ void main() {
FileSystem: () => fileSystem, FileSystem: () => fileSystem,
}); });
testUsingContext('pub get skips example directory if it dooes not contain a pubspec.yaml', () async { testUsingContext("pub get skips example directory if it doesn't contain a pubspec.yaml", () async {
fileSystem.currentDirectory.childFile('pubspec.yaml').createSync(); fileSystem.currentDirectory.childFile('pubspec.yaml').createSync();
fileSystem.currentDirectory.childDirectory('example').createSync(recursive: true); fileSystem.currentDirectory.childDirectory('example').createSync(recursive: true);
......
...@@ -829,7 +829,7 @@ void main() { ...@@ -829,7 +829,7 @@ void main() {
const int kUserMappedSectionOpened = 1224; const int kUserMappedSectionOpened = 1224;
const int kUserPermissionDenied = 5; const int kUserPermissionDenied = 5;
testWithoutContext('when PackageProcess throws an exception containg non-executable bits', () { testWithoutContext('when PackageProcess throws an exception containing non-executable bits', () {
final FakeProcessManager fakeProcessManager = FakeProcessManager.list(<FakeCommand>[ final FakeProcessManager fakeProcessManager = FakeProcessManager.list(<FakeCommand>[
const FakeCommand(command: <String>['foo'], exception: ProcessPackageExecutableNotFoundException('', candidates: <String>['not-empty'])), const FakeCommand(command: <String>['foo'], exception: ProcessPackageExecutableNotFoundException('', candidates: <String>['not-empty'])),
const FakeCommand(command: <String>['foo'], exception: ProcessPackageExecutableNotFoundException('', candidates: <String>['not-empty'])), const FakeCommand(command: <String>['foo'], exception: ProcessPackageExecutableNotFoundException('', candidates: <String>['not-empty'])),
......
...@@ -187,7 +187,7 @@ void main() { ...@@ -187,7 +187,7 @@ void main() {
]); ]);
}); });
testWithoutContext('encodeDartDefines encodes define values with base64 encoded compnents', () { testWithoutContext('encodeDartDefines encodes define values with base64 encoded components', () {
expect(encodeDartDefines(<String>['"hello"']), 'ImhlbGxvIg=='); expect(encodeDartDefines(<String>['"hello"']), 'ImhlbGxvIg==');
expect(encodeDartDefines(<String>['https://www.google.com']), 'aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbQ=='); expect(encodeDartDefines(<String>['https://www.google.com']), 'aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbQ==');
expect(encodeDartDefines(<String>['2,3,4', '5']), 'MiwzLDQ=,NQ=='); expect(encodeDartDefines(<String>['2,3,4', '5']), 'MiwzLDQ=,NQ==');
......
...@@ -597,7 +597,7 @@ void main() { ...@@ -597,7 +597,7 @@ void main() {
expect(testEnvironmentProfile.outputDir.childFile('.last_build_id').readAsStringSync(), expect(testEnvironmentProfile.outputDir.childFile('.last_build_id').readAsStringSync(),
'c20b3747fb2aa148cc4fd39bfbbd894f'); 'c20b3747fb2aa148cc4fd39bfbbd894f');
// Verify debug output removeds // Verify debug output removed
expect(fileSystem.file('output/debug'), isNot(exists)); expect(fileSystem.file('output/debug'), isNot(exists));
expect(fileSystem.file('output/release'), exists); expect(fileSystem.file('output/release'), exists);
}); });
......
...@@ -275,7 +275,7 @@ void main() { ...@@ -275,7 +275,7 @@ void main() {
expect(result.started, true); expect(result.started, true);
}); });
testWithoutContext('Device logger captues all output', () async { testWithoutContext('Device logger captures all output', () async {
final Completer<void> exitCompleter = Completer<void>(); final Completer<void> exitCompleter = Completer<void>();
final FakeProcessManager processManager = FakeProcessManager.list(<FakeCommand>[ final FakeProcessManager processManager = FakeProcessManager.list(<FakeCommand>[
FakeCommand( FakeCommand(
......
...@@ -314,9 +314,9 @@ void main() { ...@@ -314,9 +314,9 @@ void main() {
expect(ce.title, 'IntelliJ IDEA Community Edition'); expect(ce.title, 'IntelliJ IDEA Community Edition');
expect(ce.installPath, ceRandomLocation); expect(ce.installPath, ceRandomLocation);
final IntelliJValidatorOnMac utlimate = validators.where((IntelliJValidatorOnMac validator) => validator.id == 'IntelliJIdea').single; final IntelliJValidatorOnMac ultimate = validators.where((IntelliJValidatorOnMac validator) => validator.id == 'IntelliJIdea').single;
expect(utlimate.title, 'IntelliJ IDEA Ultimate Edition'); expect(ultimate.title, 'IntelliJ IDEA Ultimate Edition');
expect(utlimate.installPath, ultimateRandomLocation); expect(ultimate.installPath, ultimateRandomLocation);
}); });
testWithoutContext('Intellij plugins path checking on mac', () async { testWithoutContext('Intellij plugins path checking on mac', () async {
......
...@@ -26,7 +26,7 @@ void main() { ...@@ -26,7 +26,7 @@ void main() {
MacOSDesignedForIPadDevices.allowDiscovery = false; MacOSDesignedForIPadDevices.allowDiscovery = false;
}); });
testWithoutContext('does not support non-macOS plaforms', () async { testWithoutContext('does not support non-macOS platforms', () async {
MacOSDesignedForIPadDevices.allowDiscovery = true; MacOSDesignedForIPadDevices.allowDiscovery = true;
final MacOSDesignedForIPadDevices discoverer = MacOSDesignedForIPadDevices( final MacOSDesignedForIPadDevices discoverer = MacOSDesignedForIPadDevices(
platform: FakePlatform(operatingSystem: 'windows'), platform: FakePlatform(operatingSystem: 'windows'),
......
...@@ -569,7 +569,7 @@ void main() { ...@@ -569,7 +569,7 @@ void main() {
expect((await response.read().toList()).first, source.readAsBytesSync()); expect((await response.read().toList()).first, source.readAsBytesSync());
})); }));
test('serves valid etag header for asset files with non-ascii chracters', () => testbed.run(() async { test('serves valid etag header for asset files with non-ascii characters', () => testbed.run(() async {
globals.fs.file(globals.fs.path.join('build', 'flutter_assets', 'fooπ')) globals.fs.file(globals.fs.path.join('build', 'flutter_assets', 'fooπ'))
..createSync(recursive: true) ..createSync(recursive: true)
..writeAsBytesSync(<int>[1, 2, 3]); ..writeAsBytesSync(<int>[1, 2, 3]);
......
...@@ -13,14 +13,14 @@ import 'test_utils.dart'; ...@@ -13,14 +13,14 @@ import 'test_utils.dart';
void main() { void main() {
test('flutter build ios --config only updates generated xcconfig file without performing build', () async { test('flutter build ios --config only updates generated xcconfig file without performing build', () async {
final String woringDirectory = fileSystem.path.join(getFlutterRoot(), 'examples', 'hello_world'); final String workingDirectory = fileSystem.path.join(getFlutterRoot(), 'examples', 'hello_world');
final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter'); final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter');
await processManager.run(<String>[ await processManager.run(<String>[
flutterBin, flutterBin,
...getLocalEngineArguments(), ...getLocalEngineArguments(),
'clean', 'clean',
], workingDirectory: woringDirectory); ], workingDirectory: workingDirectory);
final ProcessResult result = await processManager.run(<String>[ final ProcessResult result = await processManager.run(<String>[
flutterBin, flutterBin,
...getLocalEngineArguments(), ...getLocalEngineArguments(),
...@@ -31,7 +31,7 @@ void main() { ...@@ -31,7 +31,7 @@ void main() {
'--obfuscate', '--obfuscate',
'--split-debug-info=info', '--split-debug-info=info',
'--no-codesign', '--no-codesign',
], workingDirectory: woringDirectory); ], workingDirectory: workingDirectory);
print(result.stdout); print(result.stdout);
print(result.stderr); print(result.stderr);
...@@ -39,7 +39,7 @@ void main() { ...@@ -39,7 +39,7 @@ void main() {
expect(result.exitCode, 0); expect(result.exitCode, 0);
final File generatedConfig = fileSystem.file( final File generatedConfig = fileSystem.file(
fileSystem.path.join(woringDirectory, 'ios', 'Flutter', 'Generated.xcconfig')); fileSystem.path.join(workingDirectory, 'ios', 'Flutter', 'Generated.xcconfig'));
// Config is updated if command succeeded. // Config is updated if command succeeded.
expect(generatedConfig, exists); expect(generatedConfig, exists);
...@@ -47,7 +47,7 @@ void main() { ...@@ -47,7 +47,7 @@ void main() {
// file that only exists if app was fully built. // file that only exists if app was fully built.
final File frameworkPlist = fileSystem.file( final File frameworkPlist = fileSystem.file(
fileSystem.path.join(woringDirectory, 'build', 'ios', 'iphoneos', 'Runner.app', 'AppFrameworkInfo.plist')); fileSystem.path.join(workingDirectory, 'build', 'ios', 'iphoneos', 'Runner.app', 'AppFrameworkInfo.plist'));
expect(frameworkPlist, isNot(exists)); expect(frameworkPlist, isNot(exists));
}, skip: !platform.isMacOS); // [intended] iOS builds only work on macos. }, skip: !platform.isMacOS); // [intended] iOS builds only work on macos.
......
...@@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN
- (instancetype)initWithScreenshotDelegate:(nullable id<FLTIntegrationTestScreenshotDelegate>)delegate NS_DESIGNATED_INITIALIZER; - (instancetype)initWithScreenshotDelegate:(nullable id<FLTIntegrationTestScreenshotDelegate>)delegate NS_DESIGNATED_INITIALIZER;
/** /**
* Initate dart tests and wait for results. @c testResult will be set to a string describing the results. * Initiate dart tests and wait for results. @c testResult will be set to a string describing the results.
* *
* @return @c YES if all tests succeeded. * @return @c YES if all tests succeeded.
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment