Test::URI - Check Uniform Resource Identifiers
use Test::More tests => 5;
use Test::URI;
my $uri = 'http://www.example.com:8080/index.html#name'
uri_scheme_ok( $uri, 'http' );
uri_host_ok( $uri, 'www.example.com' );
uri_port_ok( $uri, '8080' );
uri_path_ok( $uri, '/index.html' );
uri_fragment_ok( $uri, 'name' );
Check various parts of Uniform Resource Locators
- uri_scheme_ok( STRING|URI, SCHEME )
- Ok is the STRING is a valid URI, in any format that URI accepts, and the
URI uses the same SCHEME (i.e. protocol: http, ftp, ...). SCHEME is not
case sensitive.
STRING can be an URI object.
- uri_host_ok( STRING|URI, HOST )
- Ok is the STRING is a valid URI, in any format that URI accepts, and the
URI uses the same HOST. HOST is not case sensitive.
Not Ok is the URI scheme does not have a host portion.
STRING can be an URI object.
- uri_port_ok( STRING|URI, PORT )
- Ok is the STRING is a valid URI, in any format that URI accepts, and the
URI uses the same PORT.
Not Ok is the URI scheme does not have a port portion.
STRING can be an URI object.
- uri_canonical_ok
- UNIMPLEMENTED. I'm not sure why I thought this should be a test. If anyone
else knows, I'll implement it.
- uri_path_ok( STRING|URI, PATH )
- Ok is the STRING is a valid URI, in any format that URI accepts, and the
URI has the path PATH. Remember that paths start with a /, even if it
doesn't look like there is anything after the host parts.
STRING can be an URI object.
- uri_fragment_ok( STRING|URI, FRAGMENT )
- Ok is the STRING is a valid URI, in any format that URI accepts, and the
URI has the fragment FRAGMENT.
STRING can be an URI object.
- add methods: uri_canonical_ok, uri_query_string_ok
- add convenience methods such as uri_is_web, uri_is_ftp
This source is in GitHub
https://github.com/briandfoy/test-uri
brian d foy, "<bdfoy@cpan.org>"
Copyright © 2004-2022, brian d foy <bdfoy@cpan.org>. All rights
reserved.
This program is free software; you can redistribute it and/or
modify it under the terms of the Artistic License 2.0.