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