79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
cd "$DIR"/.. || exit
|
|
|
|
source ./_reformat-common.bash
|
|
|
|
setUp() {
|
|
cd "$DIR"/.. || exit
|
|
}
|
|
|
|
testProjectRoot001() {
|
|
dir=$(mktemp -d --tmpdir would-reformat-testProjectRoot001.XXXXXX)
|
|
cd "$dir" || exit
|
|
git init >/dev/null 2>&1
|
|
|
|
echo 'abc123' >random-file
|
|
|
|
pr=$(project_root random-file)
|
|
|
|
assertEquals "$dir" "$pr"
|
|
}
|
|
|
|
# This won't work (yet) because our only method of determining a
|
|
# project root is to ask git what it thinks.
|
|
testProjectRoot002() {
|
|
dir=$(mktemp -d --tmpdir would-reformat-testProjectRoot001.XXXXXX)
|
|
cd "$dir" || exit
|
|
|
|
echo 'abc123' >random-file
|
|
|
|
pr=$(project_root random-file)
|
|
|
|
assertEquals "" "$pr"
|
|
}
|
|
|
|
testResolveSymlink001() {
|
|
d1=$(mktemp -d --tmpdir targetdir.XXXXX)
|
|
expected="$d1/target"
|
|
touch "$expected"
|
|
|
|
d2=$(mktemp -d --tmpdir linkdir.XXXXX)
|
|
link="$d2"/link
|
|
ln -s "$d1"/target "$link"
|
|
|
|
resolved=$(resolve_symlink $link)
|
|
|
|
assertEquals "$expected" "$resolved"
|
|
}
|
|
|
|
# This test is ugly but there's no obvious way to make it
|
|
# better without making it entirely tautological.
|
|
testNoramlizeDirOfFile001() {
|
|
input="$DIR"/../install.sh
|
|
|
|
expected="$DIR/.."
|
|
|
|
out=$(normalize_dir_of_file "$input")
|
|
|
|
assertEquals "$expected" "$out/tests/.."
|
|
}
|
|
|
|
testWfRoot() {
|
|
expected=$(normalize_dir_of_file "$DIR/../install.sh")
|
|
|
|
dir=$(mktemp -d --tmpdir would-reformat-testProjectRoot001.XXXXXX)
|
|
cd "$dir" || exit
|
|
git init >/dev/null 2>&1
|
|
"$DIR"/../install.sh 2>&2 >/dev/null
|
|
|
|
got=$(wf_root $(pwd))
|
|
|
|
assertEquals "$expected" "$got"
|
|
}
|
|
|
|
# shellcheck disable=SC1091
|
|
source shunit2
|