@@ -24,24 +24,26 @@ const fakeReadDirResults = [
2424 buildFsDirentItem ( "Xcode_11.4.app" , { isSymbolicLink : true , isDirectory : false } ) ,
2525 buildFsDirentItem ( "Xcode_11.4_beta.app" , { isSymbolicLink : false , isDirectory : true } ) ,
2626 buildFsDirentItem ( "Xcode_11.app" , { isSymbolicLink : false , isDirectory : true } ) ,
27+ buildFsDirentItem ( "Xcode_12_beta.app" , { isSymbolicLink : false , isDirectory : true } ) ,
2728 buildFsDirentItem ( "third_party_folder" , { isSymbolicLink : false , isDirectory : true } ) ,
2829] ;
2930
3031const fakeGetVersionsResult : XcodeVersion [ ] = [
31- { version : "11.4.0" , path : "" } ,
32- { version : "11.2.1" , path : "" } ,
33- { version : "11.2.0" , path : "" } ,
34- { version : "11.0.0" , path : "" } ,
35- { version : "10.3.0" , path : "" }
32+ { version : "12.0.0" , path : "" , stable : false } ,
33+ { version : "11.4.0" , path : "" , stable : true } ,
34+ { version : "11.2.1" , path : "" , stable : true } ,
35+ { version : "11.2.0" , path : "" , stable : true } ,
36+ { version : "11.0.0" , path : "" , stable : true } ,
37+ { version : "10.3.0" , path : "" , stable : true }
3638] ;
3739
3840describe ( "XcodeSelector" , ( ) => {
3941 describe ( "getXcodeVersionFromAppPath" , ( ) => {
4042 it . each ( [
41- [ "/temp/Xcode_11.app" , { version : "11.0.0" , path : "/temp/Xcode_11.app" } ] ,
42- [ "/temp/Xcode_11.2.app" , { version : "11.2.0" , path : "/temp/Xcode_11.2.app" } ] ,
43- [ "/temp/Xcode_11.2.1.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1.app" } ] ,
44- [ "/temp/Xcode_11.2.1_beta.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1_beta.app" } ] ,
43+ [ "/temp/Xcode_11.app" , { version : "11.0.0" , path : "/temp/Xcode_11.app" , stable : true } ] ,
44+ [ "/temp/Xcode_11.2.app" , { version : "11.2.0" , path : "/temp/Xcode_11.2.app" , stable : true } ] ,
45+ [ "/temp/Xcode_11.2.1.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1.app" , stable : true } ] ,
46+ [ "/temp/Xcode_11.2.1_beta.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1_beta.app" , stable : false } ] ,
4547 [ "/temp/Xcode.app" , null ] ,
4648 [ "/temp/Xcode_11.2" , null ] ,
4749 [ "/temp/Xcode.11.2.app" , null ]
@@ -66,18 +68,20 @@ describe("XcodeSelector", () => {
6668 it ( "versions are filtered correctly" , ( ) => {
6769 const sel = new XcodeSelector ( ) ;
6870 const expectedVersions : XcodeVersion [ ] = [
69- { version : "11.4.0" , path : "/Applications/Xcode_11.4_beta.app" } ,
70- { version : "11.2.1" , path : "/Applications/Xcode_11.2.1.app" } ,
71- { version : "11.1.0" , path : "/Applications/Xcode_11.1.app" } ,
72- { version : "11.0.0" , path : "/Applications/Xcode_11.app" }
71+ { version : "12.0.0" , path : "/Applications/Xcode_12_beta.app" , stable : false } ,
72+ { version : "11.4.0" , path : "/Applications/Xcode_11.4_beta.app" , stable : false } ,
73+ { version : "11.2.1" , path : "/Applications/Xcode_11.2.1.app" , stable : true } ,
74+ { version : "11.1.0" , path : "/Applications/Xcode_11.1.app" , stable : true } ,
75+ { version : "11.0.0" , path : "/Applications/Xcode_11.app" , stable : true } ,
7376 ] ;
7477 expect ( sel . getAllVersions ( ) ) . toEqual ( expectedVersions ) ;
7578 } ) ;
7679 } ) ;
7780
7881 describe ( "findVersion" , ( ) => {
7982 it . each ( [
80- [ "latest" , "11.4.0" ] ,
83+ [ "latest" , "12.0.0" ] ,
84+ [ "latest-stable" , "11.4.0" ] ,
8185 [ "11" , "11.4.0" ] ,
8286 [ "11.x" , "11.4.0" ] ,
8387 [ "11.2.x" , "11.2.1" ] ,
@@ -102,7 +106,8 @@ describe("XcodeSelector", () => {
102106 let fsSpawnSpy : jest . SpyInstance ;
103107 const xcodeVersion : XcodeVersion = {
104108 version : "11.4" ,
105- path : "/Applications/Xcode_11.4.app"
109+ path : "/Applications/Xcode_11.4.app" ,
110+ stable : true
106111 } ;
107112
108113 beforeEach ( ( ) => {
0 commit comments