NAME
Test::URI - Check Uniform Resource Identifiers
SYNOPSIS
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' );
DESCRIPTION
Check various parts of Uniform Resource Locators
FUNCTIONS
- 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.
TO DO
add methods: uri_canonical_ok, uri_query_string_ok
add convenience methods such as uri_is_web, uri_is_ftp
SOURCE AVAILABILITY
This source is in GitHub
https://github.com/briandfoy/test-uri
AUTHOR
brian d foy, <bdfoy@cpan.org>
COPYRIGHT AND LICENSE
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.