Add tests for xcodeVersionSatisfactory (#10981)

And fix a typo in a test description.
diff --git a/packages/flutter_tools/test/ios/mac_test.dart b/packages/flutter_tools/test/ios/mac_test.dart
index c23b708..01d891e 100644
--- a/packages/flutter_tools/test/ios/mac_test.dart
+++ b/packages/flutter_tools/test/ios/mac_test.dart
@@ -148,7 +148,7 @@
       ProcessManager: () => mockProcessManager,
     });
 
-    testUsingContext('xcodeMajorVersion is null when version has unexpected format', () {
+    testUsingContext('xcodeMinorVersion is null when version has unexpected format', () {
       when(mockProcessManager.runSync(<String>['/usr/bin/xcodebuild', '-version']))
           .thenReturn(new ProcessResult(1, 0, 'Xcode Ultra5000\nBuild version 8E3004b', ''));
       expect(xcode.xcodeMinorVersion, isNull);
@@ -156,6 +156,38 @@
       ProcessManager: () => mockProcessManager,
     });
 
+    testUsingContext('xcodeVersionSatisfactory is false when version is less than minimum', () {
+      when(mockProcessManager.runSync(<String>['/usr/bin/xcodebuild', '-version']))
+          .thenReturn(new ProcessResult(1, 0, 'Xcode 7.0.1\nBuild version 7A1001', ''));
+      expect(xcode.xcodeVersionSatisfactory, isFalse);
+    }, overrides: <Type, Generator>{
+      ProcessManager: () => mockProcessManager,
+    });
+
+    testUsingContext('xcodeVersionSatisfactory is false when version in unknown format', () {
+      when(mockProcessManager.runSync(<String>['/usr/bin/xcodebuild', '-version']))
+          .thenReturn(new ProcessResult(1, 0, 'Xcode SuperHD\nBuild version 7A1001', ''));
+      expect(xcode.xcodeVersionSatisfactory, isFalse);
+    }, overrides: <Type, Generator>{
+      ProcessManager: () => mockProcessManager,
+    });
+
+    testUsingContext('xcodeVersionSatisfactory is true when version meets minimum', () {
+      when(mockProcessManager.runSync(<String>['/usr/bin/xcodebuild', '-version']))
+          .thenReturn(new ProcessResult(1, 0, 'Xcode 8.3.3\nBuild version 8E3004b', ''));
+      expect(xcode.xcodeVersionSatisfactory, isTrue);
+    }, overrides: <Type, Generator>{
+      ProcessManager: () => mockProcessManager,
+    });
+
+    testUsingContext('xcodeVersionSatisfactory is true when version exceeds minimum', () {
+      when(mockProcessManager.runSync(<String>['/usr/bin/xcodebuild', '-version']))
+          .thenReturn(new ProcessResult(1, 0, 'Xcode 9.0\nBuild version 9M137d', ''));
+      expect(xcode.xcodeVersionSatisfactory, isTrue);
+    }, overrides: <Type, Generator>{
+      ProcessManager: () => mockProcessManager,
+    });
+
     testUsingContext('eulaSigned is false when clang is not installed', () {
       when(mockProcessManager.runSync(<String>['/usr/bin/xcrun', 'clang']))
           .thenThrow(const ProcessException('/usr/bin/xcrun', const <String>['clang']));