From f0e458c39b475a887c43c7f4d3616ebb94f798ac Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 7 Jul 2026 18:28:29 +0200 Subject: feat: load_bundle_manifests + manifest_url_for Parse the pkg->url-template config and substitute {VERSION}. Co-Authored-By: Claude Opus 4.8 --- tests/mkhint_test.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/mkhint_test.sh b/tests/mkhint_test.sh index 908b738..959cbdb 100755 --- a/tests/mkhint_test.sh +++ b/tests/mkhint_test.sh @@ -1511,6 +1511,26 @@ r=$(bash -c "$BM_SRC; match_dep_url 'https://github.com/baz/qux/archive/v2.0.tar && { echo " PASS: empty on no match"; (( PASS++ )); } \ || { echo " FAIL: expected empty got '$r'"; (( FAIL++ )); ERRORS+=("T-BM5"); } +# ── T-BM6: load_bundle_manifests + manifest_url_for ────────────────────────── +echo "" +echo "T-BM6: manifest_url_for substitutes {VERSION}, unlisted pkg → non-zero" +cat > "$MOCK_BASE/bundle-manifests" << 'EOF' +# comment +neovim https://example.com/neovim/v{VERSION}/deps.txt +EOF +BM_SRC='source <(sed -n "/# ── bundled-dep manifest handling/,/# ── end bundled-dep/p" '"$SCRIPT"')' +r=$(bash -c "BUNDLE_MANIFEST_FILE='$MOCK_BASE/bundle-manifests'; $BM_SRC; load_bundle_manifests; manifest_url_for neovim 0.13.0") +[[ "$r" == 'https://example.com/neovim/v0.13.0/deps.txt' ]] \ + && { echo " PASS: templated URL"; (( PASS++ )); } \ + || { echo " FAIL: templated URL got '$r'"; (( FAIL++ )); ERRORS+=("T-BM6a"); } +set +e +bash -c "BUNDLE_MANIFEST_FILE='$MOCK_BASE/bundle-manifests'; $BM_SRC; load_bundle_manifests; manifest_url_for curl 8.0" >/dev/null 2>&1 +rc=$? +set -e +[[ $rc -ne 0 ]] \ + && { echo " PASS: unlisted pkg non-zero"; (( PASS++ )); } \ + || { echo " FAIL: unlisted pkg should be non-zero"; (( FAIL++ )); ERRORS+=("T-BM6b"); } + # ─── SUMMARY ────────────────────────────────────────────────────────────────── teardown -- cgit v1.2.3