File: 02attean.t

package info (click to toggle)
libtypes-uri-perl 0.007-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 172 kB
  • sloc: perl: 119; sh: 4; makefile: 2
file content (49 lines) | stat: -rw-r--r-- 1,221 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/env perl

use strict;
use warnings;
use Test::More;

{
	package Local::Dummy;
	use Test::Requires 'Attean';
	use Test::Requires { 'Types::Namespace' => '1.10' };
	use Test::Requires { 'Types::Attean' => '0.024' };
	use Test::Requires { 'RDF::Trine' => '1.000' };
}

use Types::URI qw( to_Uri to_Iri );
use Types::Namespace qw( to_Namespace );
use Types::Attean qw(to_AtteanIRI);
use Attean::IRI;
use URI;

my $atteaniri = Attean::IRI->new('http://www.example.net/');

{
	my $uri = to_Uri($atteaniri);
	isa_ok($uri, 'URI');
	is("$uri", 'http://www.example.net/', "Correct string URI to Uri");
	
	my $iri = to_Iri($atteaniri);
	isa_ok($iri, 'IRI');
	is($iri->as_string, 'http://www.example.net/', "Correct string URI to Iri");
}

_test_to_attean(URI->new('http://www.example.net/'));

_test_to_attean(IRI->new('http://www.example.net/'));

_test_to_attean(URI::Namespace->new('http://www.example.net/'));

_test_to_attean('http://www.example.net/');

sub _test_to_attean {
	my $uri = shift;
	my $airi = to_AtteanIRI($uri);
	isa_ok($airi, 'Attean::IRI');
	is($airi->as_string, 'http://www.example.net/', 'Correct string URI from ' . ref($uri));
	ok($airi->equals($atteaniri), 'Is the same URI');
}

done_testing;