@@ -100,14 +100,22 @@ void main() {
100100 ProcessManager : () => mockProcessManager,
101101 });
102102
103- testUsingContext ('xcodeVersionText returns null when xcodebuild is not installed ' , () {
103+ testUsingContext ('xcodeVersionText returns formatted version text ' , () {
104104 when (mockProcessManager.runSync (< String > ['/usr/bin/xcodebuild' , '-version' ]))
105105 .thenReturn (new ProcessResult (1 , 0 , 'Xcode 8.3.3\n Build version 8E3004b' , '' ));
106106 expect (xcode.xcodeVersionText, 'Xcode 8.3.3, Build version 8E3004b' );
107107 }, overrides: < Type , Generator > {
108108 ProcessManager : () => mockProcessManager,
109109 });
110110
111+ testUsingContext ('xcodeVersionText handles Xcode version string with unexpected format' , () {
112+ when (mockProcessManager.runSync (< String > ['/usr/bin/xcodebuild' , '-version' ]))
113+ .thenReturn (new ProcessResult (1 , 0 , 'Xcode Ultra5000\n Build version 8E3004b' , '' ));
114+ expect (xcode.xcodeVersionText, 'Xcode Ultra5000, Build version 8E3004b' );
115+ }, overrides: < Type , Generator > {
116+ ProcessManager : () => mockProcessManager,
117+ });
118+
111119 testUsingContext ('eulaSigned is false when clang is not installed' , () {
112120 when (mockProcessManager.runSync (< String > ['/usr/bin/xcrun' , 'clang' ]))
113121 .thenThrow (const ProcessException ('/usr/bin/xcrun' , const < String > ['clang' ]));
0 commit comments