File: 02.categories.t

package info (click to toggle)
libxml-atom-service-perl 0.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 152 kB
  • ctags: 23
  • sloc: perl: 209; makefile: 40
file content (82 lines) | stat: -rw-r--r-- 2,601 bytes parent folder | download | duplicates (2)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
use strict;
use warnings;
#use Data::Dumper; $Data::Dumper::Indent = 1;
use Test::More tests => 40;

use XML::Atom::Categories;
use XML::Atom::Category;

my $categories = XML::Atom::Categories->new;
isa_ok $categories, 'XML::Atom::Categories';

$categories->fixed('yes');
is $categories->fixed, 'yes';
$categories->scheme('http://example.org/extra-cats/');
is $categories->scheme, 'http://example.org/extra-cats/';

my $category = XML::Atom::Category->new;
isa_ok $category, 'XML::Atom::Category';
ok $category->elem;

$category->scheme('http://example.org/extra-cats/');
is $category->scheme, 'http://example.org/extra-cats/';
$category->term('joke');
is $category->term, 'joke';

$categories->add_category($category);

$category = $categories->category;
isa_ok $category, 'XML::Atom::Category';
is $category->scheme, 'http://example.org/extra-cats/';
is $category->term, 'joke';

my $category2 = XML::Atom::Category->new;
$category2->scheme('http://example.org/extra-cats/');
$category2->term('serious');
$categories->add_category($category2);

my @category = $categories->category;
is scalar(@category), 2;
isa_ok $category[0], 'XML::Atom::Category';
is $category[0]->scheme, 'http://example.org/extra-cats/';
is $category[0]->term, 'joke';
isa_ok $category[1], 'XML::Atom::Category';
is $category[1]->scheme, 'http://example.org/extra-cats/';
is $category[1]->term, 'serious';

@category = $categories->categories;
is scalar(@category), 2;
isa_ok $category[0], 'XML::Atom::Category';
is $category[0]->scheme, 'http://example.org/extra-cats/';
is $category[0]->term, 'joke';
isa_ok $category[1], 'XML::Atom::Category';
is $category[1]->scheme, 'http://example.org/extra-cats/';
is $category[1]->term, 'serious';

my $xml = $categories->as_xml;
like $xml, qr!^<\?xml version="1.0" encoding="utf-8"\?>!;

like $xml, qr!<categories xmlns="http://www.w3.org/2007/app"!;
like $xml, qr!fixed="yes"!;
like $xml, qr!scheme="http://example.org/extra-cats/"!;

my $ns_uri = $XML::Atom::Util::NS_MAP{ $XML::Atom::DefaultVersion };
like $xml, qr!<category xmlns="$ns_uri"!;
like $xml, qr!scheme="http://example.org/extra-cats/"!;
like $xml, qr!term="joke"!;
like $xml, qr!term="serious"!;

like $xml, qr!</categories>$!;

my $sample = "t/samples/sample.atomcat";
$categories = XML::Atom::Categories->new($sample);
isa_ok $categories, 'XML::Atom::Categories';

is $categories->fixed, 'yes';
is $categories->scheme, 'http://example.com/cats/big3';

@category = $categories->category;
is scalar(@category), 3;
is $category[0]->term, 'animal';
is $category[1]->term, 'vegetable';
is $category[2]->term, 'mineral';