mirror of
https://github.com/git/git.git
synced 2024-11-08 10:13:18 +01:00
ae299be0e5
normalize_absolute_path removes several oddities form absolute paths, giving nice clean paths like "/dir/sub1/sub2". Also add a test case for this utility, based on a new test program (in the style of test-sha1). Signed-off-by: David Reiss <dreiss@facebook.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
40 lines
792 B
Bash
Executable file
40 lines
792 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2008 David Reiss
|
|
#
|
|
|
|
test_description='Test various path utilities'
|
|
|
|
. ./test-lib.sh
|
|
|
|
norm_abs() {
|
|
test_expect_success "normalize absolute" \
|
|
"test \$(test-path-utils normalize_absolute_path '$1') = '$2'"
|
|
}
|
|
|
|
norm_abs "" /
|
|
norm_abs / /
|
|
norm_abs // /
|
|
norm_abs /// /
|
|
norm_abs /. /
|
|
norm_abs /./ /
|
|
norm_abs /./.. /
|
|
norm_abs /../. /
|
|
norm_abs /./../.// /
|
|
norm_abs /dir/.. /
|
|
norm_abs /dir/sub/../.. /
|
|
norm_abs /dir /dir
|
|
norm_abs /dir// /dir
|
|
norm_abs /./dir /dir
|
|
norm_abs /dir/. /dir
|
|
norm_abs /dir///./ /dir
|
|
norm_abs /dir//sub/.. /dir
|
|
norm_abs /dir/sub/../ /dir
|
|
norm_abs //dir/sub/../. /dir
|
|
norm_abs /dir/s1/../s2/ /dir/s2
|
|
norm_abs /d1/s1///s2/..//../s3/ /d1/s3
|
|
norm_abs /d1/s1//../s2/../../d2 /d2
|
|
norm_abs /d1/.../d2 /d1/.../d2
|
|
norm_abs /d1/..././../d2 /d1/d2
|
|
|
|
test_done
|