1use lib "t/lib";
2use Test::More tests=>97;
3
4BEGIN{ use_ok( "Net::Jabber" ); }
5
6require "t/mytestlib.pl";
7
8my $query = new Net::Jabber::Stanza("query");
9ok( defined($query), "new()" );
10isa_ok( $query, "Net::Jabber::Stanza" );
11isa_ok( $query, "Net::XMPP::Stanza" );
12
13testScalar($query,"XMLNS","jabber:iq:autoupdate");
14
15my $dev = $query->AddDev();
16ok( defined($dev), "new()" );
17isa_ok( $dev, "Net::Jabber::Stanza" );
18isa_ok( $dev, "Net::XMPP::Stanza" );
19
20testScalar($dev,"Desc","desc");
21testScalar($dev,"Priority","priority");
22testScalar($dev,"URL","url");
23testScalar($dev,"Version","version");
24
25my $beta = $query->AddBeta();
26ok( defined($beta), "new()" );
27isa_ok( $beta, "Net::Jabber::Stanza" );
28isa_ok( $beta, "Net::XMPP::Stanza" );
29
30testScalar($beta,"Desc","desc");
31testScalar($beta,"Priority","priority");
32testScalar($beta,"URL","url");
33testScalar($beta,"Version","version");
34
35my $release = $query->AddRelease();
36ok( defined($release), "new()" );
37isa_ok( $release, "Net::Jabber::Stanza" );
38isa_ok( $release, "Net::XMPP::Stanza" );
39
40testScalar($release,"Desc","desc");
41testScalar($release,"Priority","priority");
42testScalar($release,"URL","url");
43testScalar($release,"Version","version");
44
45is( $query->GetXML(), "<query xmlns='jabber:iq:autoupdate'><dev priority='priority'><desc>desc</desc><url>url</url><version>version</version></dev><beta priority='priority'><desc>desc</desc><url>url</url><version>version</version></beta><release priority='priority'><desc>desc</desc><url>url</url><version>version</version></release></query>", "GetXML()" );
46
47
48my $query2 = new Net::Jabber::Stanza("query");
49ok( defined($query2), "new()" );
50isa_ok( $query2, "Net::Jabber::Stanza" );
51isa_ok( $query2, "Net::XMPP::Stanza" );
52
53testScalar($query2,"XMLNS","jabber:iq:autoupdate");
54
55my $dev2 = $query2->AddDev(desc=>"desc",
56                           priority=>"priority",
57                           url=>"url",
58                           version=>"version");
59ok( defined($dev2), "new()" );
60isa_ok( $dev2, "Net::Jabber::Stanza" );
61isa_ok( $dev2, "Net::XMPP::Stanza" );
62
63testPostScalar($dev2,"Desc","desc");
64testPostScalar($dev2,"Priority","priority");
65testPostScalar($dev2,"URL","url");
66testPostScalar($dev2,"Version","version");
67
68my $beta2 = $query2->AddBeta(desc=>"desc",
69                             priority=>"priority",
70                             url=>"url",
71                             version=>"version");
72ok( defined($beta2), "new()" );
73isa_ok( $beta2, "Net::Jabber::Stanza" );
74isa_ok( $beta2, "Net::XMPP::Stanza" );
75
76testPostScalar($beta2,"Desc","desc");
77testPostScalar($beta2,"Priority","priority");
78testPostScalar($beta2,"URL","url");
79testPostScalar($beta2,"Version","version");
80
81my $release2 = $query2->AddRelease(desc=>"desc",
82                                   priority=>"priority",
83                                   url=>"url",
84                                   version=>"version");
85ok( defined($release2), "new()" );
86isa_ok( $release2, "Net::Jabber::Stanza" );
87isa_ok( $release2, "Net::XMPP::Stanza" );
88
89testPostScalar($release2,"Desc","desc");
90testPostScalar($release2,"Priority","priority");
91testPostScalar($release2,"URL","url");
92testPostScalar($release2,"Version","version");
93
94is( $query2->GetXML(), "<query xmlns='jabber:iq:autoupdate'><dev priority='priority'><desc>desc</desc><url>url</url><version>version</version></dev><beta priority='priority'><desc>desc</desc><url>url</url><version>version</version></beta><release priority='priority'><desc>desc</desc><url>url</url><version>version</version></release></query>", "GetXML()" );
95
96my @releases = $query2->GetReleases();
97is( $#releases, 2, "are there three releases?" );
98is( $releases[0]->GetXML(), "<dev priority='priority'><desc>desc</desc><url>url</url><version>version</version></dev>", "GetXML()" );
99is( $releases[1]->GetXML(), "<beta priority='priority'><desc>desc</desc><url>url</url><version>version</version></beta>", "GetXML()" );
100is( $releases[2]->GetXML(), "<release priority='priority'><desc>desc</desc><url>url</url><version>version</version></release>", "GetXML()" );
101
102
103