#!/usr/bin/env bash

export MISE_EXPERIMENTAL=1
export MISE_LOCKFILE=1
export MISE_AQUA_BAKED_REGISTRY=0
export MISE_AQUA_REGISTRY_URL="file://$ROOT/vendor/aqua-registry"

cat <<'EOF_MISE' >mise.toml
[tools]
"aqua:BurntSushi/ripgrep" = "14.1.1"
EOF_MISE

output=$(MISE_TIMINGS=1 mise lock --platform linux-x64 2>&1)
printf '%s\n' "$output"

[[ $output == *"mise::aqua::aqua_registry_wrapper::aqua_registry::parse_yaml"* ]] ||
  fail "expected custom aqua registry parse timing in output"
[[ $output == *"mise::aqua::aqua_registry_wrapper::aqua_registry::write_compiled_cache"* ]] ||
  fail "expected custom aqua registry cache generation timing in output"

assert_contains "cat mise.lock" 'backend = "aqua:BurntSushi/ripgrep"'
assert_contains "cat mise.lock" '[[tools."aqua:BurntSushi/ripgrep"]]'

second_output=$(MISE_TIMINGS=1 mise lock --platform linux-x64 2>&1)
printf '%s\n' "$second_output"

[[ $second_output != *"mise::aqua::aqua_registry_wrapper::aqua_registry::write_compiled_cache"* ]] ||
  fail "expected unchanged registry source hash to reuse the compiled cache"
