#!perl
use strict;
use warnings;
use Test::More;
use HTTP::Tiny;
my @tests = (
[ 'HtTp://Example.COM/', 'http', 'example.com', 80, '/' ],
[ 'HtTp://Example.com:1024/', 'http', 'example.com', 1024, '/' ],
[ 'http://example.com', 'http', 'example.com', 80, '/' ],
[ 'http://example.com:', 'http', 'example.com', 80, '/' ],
[ 'http://foo@example.com:', 'http', 'example.com', 80, '/' ],
[ 'http://@example.com:', 'http', 'example.com', 80, '/' ],
[ 'http://example.com?foo=bar', 'http', 'example.com', 80, '/?foo=bar' ],
[ 'http://example.com?foo=bar#fragment', 'http', 'example.com', 80, '/?foo=bar' ],
[ 'http://example.com/path?foo=bar', 'http', 'example.com', 80, '/path?foo=bar' ],
[ 'http:///path?foo=bar', 'http', 'localhost', 80, '/path?foo=bar' ],
[ 'HTTPS://example.com/', 'https', 'example.com', 443, '/' ],
[ 'http://[::]:1024', 'http', '[::]', 1024, '/' ],
[ 'xxx://foo/', 'xxx', 'foo', undef, '/' ],
);
plan tests => scalar @tests;
for my $test (@tests) {
my $url = shift(@$test);
my $got = [ HTTP::Tiny->_split_url($url) ];
my $exp = $test;
is_deeply($got, $exp, "->split_url('$url')");
}