MCPcopy Index your code
hub / github.com/go-task/task / TestIf

Function TestIf

executor_test.go:1220–1284  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1218}
1219
1220func 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 {

Callers

nothing calls this directly

Calls 5

WithNameFunction · 0.85
WithExecutorOptionsFunction · 0.85
WithTaskFunction · 0.85
WithVarFunction · 0.85
NewExecutorTestFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…