@@ -30,6 +30,28 @@ func Test_GivenNewlyGeneratedWorkspace_WhenListingSchemes_ThenReturnsTheDefaultS
3030 require .Equal (t , true , actualSchemes [0 ].IsShared )
3131}
3232
33+ func Test_GivenNewlyGeneratedWorkspaceWithWorkspaceSettings_WhenListingSchemes_ThenReturnsTheDefaultScheme (t * testing.T ) {
34+ xcodeWorkspacePath := testhelper .NewlyGeneratedXcodeWorkspacePath (t )
35+ workspace , err := Open (xcodeWorkspacePath )
36+ require .NoError (t , err )
37+
38+ worksaceSettingsPth := filepath .Join (xcodeWorkspacePath , "xcshareddata/WorkspaceSettings.xcsettings" )
39+ require .NoError (t , fileutil .WriteStringToFile (worksaceSettingsPth , workspaceSettingsWithBuildSystemTypeOriginalContent ))
40+
41+ schemesByContainer , err := workspace .Schemes ()
42+ require .NoError (t , err )
43+
44+ expectedSchemeName := "ios-sample"
45+ var actualSchemes []xcscheme.Scheme
46+ for _ , schemes := range schemesByContainer {
47+ actualSchemes = append (actualSchemes , schemes ... )
48+ }
49+
50+ require .Equal (t , 1 , len (actualSchemes ))
51+ require .Equal (t , expectedSchemeName , actualSchemes [0 ].Name )
52+ require .Equal (t , true , actualSchemes [0 ].IsShared )
53+ }
54+
3355func Test_GivenNewlyGeneratedWorkspaceWithAutocreateSchemesDisabled_WhenListingSchemes_ThenReturnsError (t * testing.T ) {
3456 xcodeWorkspacePath := testhelper .NewlyGeneratedXcodeWorkspacePath (t )
3557
@@ -58,6 +80,16 @@ const workspaceSettingsWithAutocreateSchemesDisabledContent = `<?xml version="1.
5880</plist>
5981`
6082
83+ const workspaceSettingsWithBuildSystemTypeOriginalContent = `<?xml version="1.0" encoding="UTF-8"?>
84+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
85+ <plist version="1.0">
86+ <dict>
87+ <key>BuildSystemType</key>
88+ <string>Original</string>
89+ </dict>
90+ </plist>
91+ `
92+
6193const workspaceSettingsWithAutocreateSchemesEnabledContent = `<?xml version="1.0" encoding="UTF-8"?>
6294<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
6395<plist version="1.0">
0 commit comments