#!/usr/bin/env bash

assert "mise i tiny@1.0.0"
assert "mise i dummy@1.0.0"

assert "mise use dummy tiny"
assert "mise tool dummy --requested" "latest"
assert "mise tool dummy --active" "1.0.0"
assert "mise tool tiny --active" "1.0.0"

assert "mise use dummy@latest"
assert "mise tool dummy --active" "2.0.0"
assert "mise tool tiny --active" "1.0.0"
assert "mise tool dummy --requested" "latest"
assert "mise tool tiny --requested" "latest"

touch mise.lock
assert "mise use dummy@1 tiny@1"
assert "cat mise.lock" "$LOCKFILE_HEADER

[[tools.dummy]]
version = \"1.0.0\"
backend = \"asdf:dummy\"

[[tools.tiny]]
version = \"1.0.0\"
backend = \"asdf:tiny\""
assert "mise tool dummy --requested" "1"
assert "mise tool tiny --requested" "1"
assert "mise tool dummy --active" "1.0.0"
assert "mise tool tiny --active" "1.0.0"

assert "mise use dummy@latest"
assert "cat mise.lock" "$LOCKFILE_HEADER

[[tools.dummy]]
version = \"2.0.0\"
backend = \"asdf:dummy\"

[[tools.tiny]]
version = \"1.0.0\"
backend = \"asdf:tiny\""
assert "mise tool dummy --requested" "latest"
assert "mise tool tiny --requested" "1"
assert "mise tool dummy --active" "2.0.0"
assert "mise tool tiny --active" "1.0.0"
