(t *testing.T)
| 1218 | } |
| 1219 | |
| 1220 | func TestIf(t *testing.T) { |
| 1221 | t.Parallel() |
| 1222 | |
| 1223 | tests := []struct { |
| 1224 | name string |
| 1225 | task string |
| 1226 | vars map[string]any |
| 1227 | verbose bool |
| 1228 | }{ |
| 1229 | // Basic command-level if |
| 1230 | {name: "cmd-if-true", task: "cmd-if-true"}, |
| 1231 | {name: "cmd-if-false", task: "cmd-if-false"}, |
| 1232 | |
| 1233 | // Task-level if |
| 1234 | {name: "task-if-true", task: "task-if-true"}, |
| 1235 | {name: "task-if-false", task: "task-if-false", verbose: true}, |
| 1236 | |
| 1237 | // Task call with if |
| 1238 | {name: "task-call-if-true", task: "task-call-if-true"}, |
| 1239 | {name: "task-call-if-false", task: "task-call-if-false", verbose: true}, |
| 1240 | |
| 1241 | // Go template conditions |
| 1242 | {name: "template-eq-true", task: "template-eq-true"}, |
| 1243 | {name: "template-eq-false", task: "template-eq-false", verbose: true}, |
| 1244 | {name: "template-ne", task: "template-ne"}, |
| 1245 | {name: "template-bool-true", task: "template-bool-true"}, |
| 1246 | {name: "template-bool-false", task: "template-bool-false"}, |
| 1247 | {name: "template-direct-true", task: "template-direct-true"}, |
| 1248 | {name: "template-direct-false", task: "template-direct-false"}, |
| 1249 | {name: "template-and", task: "template-and"}, |
| 1250 | {name: "template-or", task: "template-or"}, |
| 1251 | |
| 1252 | // CLI variable override |
| 1253 | {name: "template-cli-var", task: "template-cli-var", vars: map[string]any{"MY_VAR": "yes"}}, |
| 1254 | |
| 1255 | // Task-level if with template |
| 1256 | {name: "task-level-template", task: "task-level-template"}, |
| 1257 | {name: "task-level-template-false", task: "task-level-template-false", verbose: true}, |
| 1258 | |
| 1259 | // For loop with if |
| 1260 | {name: "if-in-for-loop", task: "if-in-for-loop", verbose: true}, |
| 1261 | |
| 1262 | // Task-level if with dynamic variable |
| 1263 | {name: "task-if-dynamic-true", task: "task-if-dynamic-true"}, |
| 1264 | {name: "task-if-dynamic-false", task: "task-if-dynamic-false", verbose: true}, |
| 1265 | } |
| 1266 | |
| 1267 | for _, test := range tests { |
| 1268 | opts := []ExecutorTestOption{ |
| 1269 | WithName(test.name), |
| 1270 | WithExecutorOptions( |
| 1271 | task.WithDir("testdata/if"), |
| 1272 | task.WithSilent(true), |
| 1273 | task.WithVerbose(test.verbose), |
| 1274 | ), |
| 1275 | WithTask(test.task), |
| 1276 | } |
| 1277 | if test.vars != nil { |
nothing calls this directly
no test coverage detected
searching dependent graphs…