aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.travis/test.sh
diff options
context:
space:
mode:
Diffstat (limited to '.travis/test.sh')
-rwxr-xr-x.travis/test.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/.travis/test.sh b/.travis/test.sh
index 5d8eabe..8443fe3 100755
--- a/.travis/test.sh
+++ b/.travis/test.sh
@@ -181,12 +181,47 @@ test_symlinks_unlink_works() {
verify_output "$expected_output" "$test_alt_dest_dir"
}
+test_symlinks_remove_shared_file() {
+ # If we remove a shared file, both of the symlinks should be removed.
+
+ new_test
+
+ ln -s -- '%DEST%' "$test_src_dir/%ALT_DEST%"
+
+ DEST="$test_dest_dir" ALT_DEST="$test_alt_dest_dir" "$script_dir/../bin/update.sh" --shared-dir "$test_src_dir"
+ rm -- "$test_src_dir/%DEST%/bar/3.txt"
+ DEST="$test_dest_dir" ALT_DEST="$test_alt_dest_dir" "$script_dir/../bin/update.sh" --shared-dir "$test_src_dir"
+
+ local expected_output
+
+ expected_output="$test_dest_dir->
+$test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt
+$test_dest_dir/foo->
+$test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt
+$test_dest_dir/bar->
+$test_dest_dir/bar/baz->
+$test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt"
+
+ verify_output "$expected_output"
+
+ expected_output="$test_alt_dest_dir->
+$test_alt_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt
+$test_alt_dest_dir/foo->
+$test_alt_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt
+$test_alt_dest_dir/bar->
+$test_alt_dest_dir/bar/baz->
+$test_alt_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt"
+
+ verify_output "$expected_output" "$test_alt_dest_dir"
+}
+
main() {
test_update_works
test_unlink_works
test_unlink_does_not_overwrite_files
test_symlinks_update_works
test_symlinks_unlink_works
+ test_symlinks_remove_shared_file
}
main