@@ -17,7 +17,7 @@ import * as vscode from "vscode";
17
17
import { BackgroundCompilation } from "@src/BackgroundCompilation" ;
18
18
import { FolderContext } from "@src/FolderContext" ;
19
19
import { WorkspaceContext } from "@src/WorkspaceContext" ;
20
- import { getBuildAllTask } from "@src/tasks/SwiftTaskProvider" ;
20
+ import { createSwiftTask , getBuildAllTask } from "@src/tasks/SwiftTaskProvider" ;
21
21
22
22
import { mockGlobalObject } from "../MockUtils" ;
23
23
import { testAssetUri } from "../fixtures" ;
@@ -94,31 +94,31 @@ tag("large").suite("BackgroundCompilation Test Suite", () => {
94
94
nonSwiftTask = new vscode . Task (
95
95
{
96
96
type : "shell" ,
97
- args : [ "./build.sh " ] ,
98
- cwd : "defaultPackage" ,
97
+ command : [ "swift " ] ,
98
+ args : [ "build" ] ,
99
99
group : {
100
100
id : "build" ,
101
101
isDefault : true ,
102
102
} ,
103
- label : "Default build" ,
103
+ label : "shell build" ,
104
104
} ,
105
105
folderContext . workspaceFolder ,
106
- "Default build" ,
107
- "shell"
106
+ "shell build" ,
107
+ "Workspace" ,
108
+ new vscode . ShellExecution ( "" , {
109
+ cwd : testAssetUri ( "defaultPackage" ) . fsPath ,
110
+ } )
108
111
) ;
109
- nonSwiftTask . group = { id : "build" , isDefault : true } ;
110
- swiftTask = new vscode . Task (
112
+ swiftTask = createSwiftTask (
113
+ [ "build" ] ,
114
+ "swift build" ,
111
115
{
112
- type : "swift" ,
113
- args : [ "build" ] ,
114
- cwd : "defaultPackage" ,
115
- label : "swift build" ,
116
+ cwd : testAssetUri ( "defaultPackage" ) ,
117
+ scope : folderContext . workspaceFolder ,
116
118
} ,
117
- folderContext . workspaceFolder ,
118
- "Swift build" ,
119
- "swift"
119
+ folderContext . toolchain
120
120
) ;
121
- swiftTask . group = { id : "build" , isDefault : true } ;
121
+ swiftTask . source = "Workspace" ;
122
122
return await updateSettings ( {
123
123
"swift.backgroundCompilation" : {
124
124
enabled : true ,
@@ -129,7 +129,7 @@ tag("large").suite("BackgroundCompilation Test Suite", () => {
129
129
} ) ;
130
130
131
131
setup ( ( ) => {
132
- tasksMock . fetchTasks . resolves ( [ swiftTask , buildAllTask ] ) ;
132
+ tasksMock . fetchTasks . withArgs ( ) . resolves ( [ nonSwiftTask , swiftTask , buildAllTask ] ) ;
133
133
backgroundConfiguration = new BackgroundCompilation ( folderContext ) ;
134
134
} ) ;
135
135
@@ -138,22 +138,23 @@ tag("large").suite("BackgroundCompilation Test Suite", () => {
138
138
} ) ;
139
139
140
140
test ( "swift default task" , async ( ) => {
141
+ swiftTask . group = { id : "build" , isDefault : true } ;
141
142
expect ( await backgroundConfiguration . getTask ( ) ) . to . equal ( swiftTask ) ;
142
143
} ) ;
143
144
145
+ test ( "non-swift default task" , async ( ) => {
146
+ nonSwiftTask . group = { id : "build" , isDefault : true } ;
147
+ expect ( await backgroundConfiguration . getTask ( ) ) . to . equal ( nonSwiftTask ) ;
148
+ } ) ;
149
+
144
150
test ( "don't use default task" , async ( ) => {
151
+ swiftTask . group = { id : "build" , isDefault : true } ;
145
152
await vscode . workspace . getConfiguration ( "swift" ) . update ( "backgroundCompilation" , {
146
153
enabled : true ,
147
154
useDefaultTask : false ,
148
155
} ) ;
149
156
expect ( await backgroundConfiguration . getTask ( ) ) . to . equal ( buildAllTask ) ;
150
157
} ) ;
151
-
152
- test ( "non-swift default task" , async ( ) => {
153
- tasksMock . fetchTasks . resolves ( [ nonSwiftTask , swiftTask , buildAllTask ] ) ;
154
- swiftTask . group = { id : "build" , isDefault : false } ;
155
- expect ( await backgroundConfiguration . getTask ( ) ) . to . equal ( buildAllTask ) ;
156
- } ) ;
157
158
} ) ;
158
159
} ) ;
159
160
} ) ;
0 commit comments