1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-06-25 01:05:37 +00:00
elinks/src/protocol/test/test-normalize-uri

99 lines
2.5 KiB
Bash
Executable File

#!/bin/sh
#
test_description='Test URI normalizing'
. "$TEST_LIB"
test_uri_equals () {
before="$1"; shift
expected="$1"; shift
normalized="$(uri-test "$before")"
test_expect_success "Normalize $before" "test \"$normalized\" = \"$expected\""
}
################################################################
test_uri_equals "http://example.org/foo/bar/baz?a=1&b=2#frag" \
"http://example.org/foo/bar/baz?a=1&b=2#frag"
test_uri_equals "http://example.org/foo/bar/../?a=1&b=2#frag" \
"http://example.org/foo/?a=1&b=2#frag"
test_uri_equals "http://example.org/foo/bar/../../baz?a=1&b=2#frag" \
"http://example.org/baz?a=1&b=2#frag"
test_uri_equals "http://example.org/foo/bar/.." \
"http://example.org/foo/"
test_uri_equals "http://example.org/foo/bar;a=1/.." \
"http://example.org/foo/"
test_uri_equals "http://example.org/foo/bar.." \
"http://example.org/foo/bar.."
# Bug 744 - ELinks changes "//" to "/" in path component of URI
test_uri_equals "http://example.org/foo/bar/baz" \
"http://example.org/foo/bar/baz"
test_uri_equals "http://example.org/foo/bar/" \
"http://example.org/foo/bar/"
test_uri_equals "http://example.org/foo//baz" \
"http://example.org/foo//baz"
test_uri_equals "http://example.org/foo//" \
"http://example.org/foo//"
test_uri_equals "http://example.org//bar/baz" \
"http://example.org//bar/baz"
test_uri_equals "http://example.org//bar/" \
"http://example.org//bar/"
test_uri_equals "http://example.org///baz" \
"http://example.org///baz"
test_uri_equals "http://example.org///" \
"http://example.org///"
test_uri_equals "http://example.org/foo/bar/baz/.." \
"http://example.org/foo/bar/"
test_uri_equals "http://example.org/foo/bar//.." \
"http://example.org/foo/bar/"
test_uri_equals "http://example.org/foo//baz/.." \
"http://example.org/foo//"
test_uri_equals "http://example.org/foo///.." \
"http://example.org/foo//"
test_uri_equals "http://example.org//bar/baz/.." \
"http://example.org//bar/"
test_uri_equals "http://example.org//bar//.." \
"http://example.org//bar/"
test_uri_equals "http://example.org///baz/.." \
"http://example.org///"
test_uri_equals "http://example.org////.." \
"http://example.org///"
test_uri_equals "http://example.org/foo/..//bar/baz" \
"http://example.org//bar/baz"
test_uri_equals "http://example.org//.//foo" \
"http://example.org///foo"
test_uri_equals "http://example.org//./../foo" \
"http://example.org/foo"
test_uri_equals "http://example.org/gag///./../.." \
"http://example.org/gag/"
test_done