You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.4 KiB
64 lines
1.4 KiB
#!/bin/sh |
|
# |
|
|
|
test_description='git web--browse basic tests |
|
|
|
This test checks that git web--browse can handle various valid URLs.' |
|
|
|
TEST_PASSES_SANITIZE_LEAK=true |
|
. ./test-lib.sh |
|
|
|
test_web_browse () { |
|
# browser=$1 url=$2 |
|
git web--browse --browser="$1" "$2" >actual && |
|
tr -d '\015' <actual >text && |
|
test_cmp expect text |
|
} |
|
|
|
test_expect_success \ |
|
'URL with an ampersand in it' ' |
|
echo http://example.com/foo\&bar >expect && |
|
git config browser.custom.cmd echo && |
|
test_web_browse custom http://example.com/foo\&bar |
|
' |
|
|
|
test_expect_success \ |
|
'URL with a semi-colon in it' ' |
|
echo http://example.com/foo\;bar >expect && |
|
git config browser.custom.cmd echo && |
|
test_web_browse custom http://example.com/foo\;bar |
|
' |
|
|
|
test_expect_success \ |
|
'URL with a hash in it' ' |
|
echo http://example.com/foo#bar >expect && |
|
git config browser.custom.cmd echo && |
|
test_web_browse custom http://example.com/foo#bar |
|
' |
|
|
|
test_expect_success \ |
|
'browser paths are properly quoted' ' |
|
echo fake: http://example.com/foo >expect && |
|
cat >"fake browser" <<-\EOF && |
|
#!/bin/sh |
|
echo fake: "$@" |
|
EOF |
|
chmod +x "fake browser" && |
|
git config browser.w3m.path "$(pwd)/fake browser" && |
|
test_web_browse w3m http://example.com/foo |
|
' |
|
|
|
test_expect_success \ |
|
'browser command allows arbitrary shell code' ' |
|
echo "arg: http://example.com/foo" >expect && |
|
git config browser.custom.cmd " |
|
f() { |
|
for i in \"\$@\"; do |
|
echo arg: \$i |
|
done |
|
} |
|
f" && |
|
test_web_browse custom http://example.com/foo |
|
' |
|
|
|
test_done
|
|
|