#!/usr/bin/env bash set -euo pipefail repository_directory=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd) test_home=$(mktemp -d) trap 'rm -rf "$test_home"' EXIT profile_directory="$test_home/profile" extensions_directory="$test_home/extensions" diff_directory="$profile_directory/node_modules/@dsh-external/dsh-diff-viewer" branch_directory="$extensions_directory/codexdebayan.branch-compare-1.4.5-universal" mkdir -p "$diff_directory/src/client" "$diff_directory/lib" "$branch_directory/dist/git" printf "%s\n" "import { MutationRow } from './mutation-row.tsx'" > "$diff_directory/src/client/index.tsx" printf '\t\texports.apply = apply;\n\t\texports.inject = inject;\n' > "$diff_directory/lib/client.js" printf "%s\n" "const result = await this.execGit(['diff', '--name-status', baseBranch, targetBranch]);" > "$branch_directory/dist/git/GitService.js" for _ in 1 2; do HOME="$test_home" DSH_PROFILE_DIRECTORY="$profile_directory" DSH_EDITOR_EXTENSIONS_DIRECTORY="$extensions_directory" \ node "$repository_directory/scripts/apply-compatibility-patches.mjs" done grep -q "export { DiffViewer }" "$diff_directory/src/client/index.tsx" grep -q 'exports.DiffViewer = DiffViewer' "$diff_directory/lib/client.js" grep -q "targetBranch, '--'" "$branch_directory/dist/git/GitService.js" [[ $(grep -c "export { DiffViewer }" "$diff_directory/src/client/index.tsx") == 1 ]] [[ $(grep -c 'exports.DiffViewer = DiffViewer' "$diff_directory/lib/client.js") == 1 ]] [[ $(grep -c "targetBranch, '--'" "$branch_directory/dist/git/GitService.js") == 1 ]] printf 'compatibility patch test passed\n'