|
|
- %%% File : ibrowse_lib.erl
- %%% Authors : Chandrashekhar Mullaparthi <chandrashekhar.mullaparthi@t-mobile.co.uk>,
- %%% Filipe David Manana <fdmanana@apache.org>
- %%% Description : Tests for the module ibrowse_lib.erl
- %%% Created : 12 April 2011 by Filipe David Manana <fdmanana@apache.org>
-
- -module(ibrowse_lib_tests).
- -include_lib("eunit/include/eunit.hrl").
- -include("../include/ibrowse.hrl").
-
-
- parse_urls_test_() ->
- {timeout, 60, [fun parse_urls/0]}.
-
-
- parse_urls() ->
- ?assertMatch(#url{
- abspath = "http://localhost",
- host = "localhost",
- host_type = hostname,
- port = 80,
- path = "/",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://localhost")),
- ?assertMatch(#url{
- abspath = "http://localhost:80/",
- host = "localhost",
- host_type = hostname,
- port = 80,
- path = "/",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://localhost:80/")),
- ?assertMatch(#url{
- abspath = "http://127.0.0.1:8000/",
- host = "127.0.0.1",
- host_type = ipv4_address,
- port = 8000,
- path = "/",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://127.0.0.1:8000/")),
- ?assertMatch(#url{
- abspath = "https://foo:bar@127.0.0.1:8000/test",
- host = "127.0.0.1",
- host_type = ipv4_address,
- port = 8000,
- path = "/test",
- username = "foo",
- password = "bar",
- protocol = https
- },
- ibrowse_lib:parse_url("https://foo:bar@127.0.0.1:8000/test")),
- ?assertMatch(#url{
- abspath = "https://[::1]",
- host = "::1",
- host_type = ipv6_address,
- port = 443,
- path = "/",
- username = undefined,
- password = undefined,
- protocol = https
- },
- ibrowse_lib:parse_url("https://[::1]")),
- ?assertMatch(#url{
- abspath = "http://[::1]:8080",
- host = "::1",
- host_type = ipv6_address,
- port = 8080,
- path = "/",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://[::1]:8080")),
- ?assertMatch(#url{
- abspath = "http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8081/index.html",
- host = "FEDC:BA98:7654:3210:FEDC:BA98:7654:3210",
- host_type = ipv6_address,
- port = 8081,
- path = "/index.html",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:8081/index.html")),
- ?assertMatch(#url{
- abspath = "http://[1080:0:0:0:8:800:200C:417A]/foo/bar",
- host = "1080:0:0:0:8:800:200C:417A",
- host_type = ipv6_address,
- port = 80,
- path = "/foo/bar",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://[1080:0:0:0:8:800:200C:417A]/foo/bar")),
- ?assertMatch(#url{
- abspath = "http://[1080:0:0:0:8:800:200C:417A]:8080/foo/bar",
- host = "1080:0:0:0:8:800:200C:417A",
- host_type = ipv6_address,
- port = 8080,
- path = "/foo/bar",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://[1080:0:0:0:8:800:200C:417A]:8080/foo/bar")),
- ?assertMatch(#url{
- abspath = "http://[::192.9.5.5]:6000/foo?q=bar",
- host = "::192.9.5.5",
- host_type = ipv6_address,
- port = 6000,
- path = "/foo?q=bar",
- username = undefined,
- password = undefined,
- protocol = http
- },
- ibrowse_lib:parse_url("http://[::192.9.5.5]:6000/foo?q=bar")),
- ?assertMatch({error, invalid_uri},
- ibrowse_lib:parse_url("http://[:1080:0:0:0:8:800:200C:417A:]:6000/foo?q=bar")),
- ?assertMatch({error, invalid_uri},
- ibrowse_lib:parse_url("http://[12::z]")),
- ?assertMatch({error, invalid_uri},
- ibrowse_lib:parse_url("http://foo[1080:0:0:0:8:800:200C:417A]:6000")),
- ?assertMatch({error, invalid_uri},
- ibrowse_lib:parse_url("http://foo:[1080:0:0:0:8:800:200C:417A]:6000")),
- ok.
|