#!/usr/bin/env bash

# A broken `dir` template in one task must not break the other tasks or `tasks validate`.
cat <<EOF >mise.toml
[tasks.ok]
run = "echo ok"

[tasks.bad]
run = "echo bad"
dir = "{{ nonexistent_var }}"
EOF

assert "mise run ok" "ok"
assert_contains "mise tasks ls" "ok"
assert_contains "mise tasks info ok" "Task: ok"
assert "mise tasks ls --json 2>/dev/null | jq -c '[.[] | select(.name == \"bad\") | .dir]'" '[null]'
assert_contains "mise tasks validate --json 2>&1 || true" "invalid-directory-template"
output="$(quiet_assert_fail "mise run bad")"
assert_contains_text "$output" "of task bad (defined in"
assert_contains_text "$output" "mise.toml"
