From: <pau...@us...> - 2007-01-03 19:48:11
|
Revision: 934 http://svn.sourceforge.net/everydevel/?rev=934&view=rev Author: paul_the_nomad Date: 2007-01-03 11:48:10 -0800 (Wed, 03 Jan 2007) Log Message: ----------- Node.pm toXML test Modified Paths: -------------- trunk/ebase/lib/Everything/Test/Node.pm Property Changed: ---------------- trunk/ebase/ Property changes on: trunk/ebase ___________________________________________________________________ Name: svk:merge - 16c2b9cb-492b-4d64-9535-64d4e875048d:/wip/ebase:936 a6810612-c0f9-0310-9d3e-a9e4af8c5745:/ebase/offline:17930 + 16c2b9cb-492b-4d64-9535-64d4e875048d:/wip/ebase:937 a6810612-c0f9-0310-9d3e-a9e4af8c5745:/ebase/offline:17930 Modified: trunk/ebase/lib/Everything/Test/Node.pm =================================================================== --- trunk/ebase/lib/Everything/Test/Node.pm 2007-01-03 19:47:50 UTC (rev 933) +++ trunk/ebase/lib/Everything/Test/Node.pm 2007-01-03 19:48:10 UTC (rev 934) @@ -2,6 +2,7 @@ use Test::More; use Test::MockObject; +use Test::MockObject::Extends; use Scalar::Util qw/blessed/; use base 'Test::Class'; use strict; @@ -271,10 +272,32 @@ } -sub test_to_xML : Test(1) { +sub test_to_xml : Test(5) { my $self = shift; can_ok( $self->{class}, 'toXML' ) || return; + my $instance = Test::MockObject::Extends->new($self->{instance}); + $instance->set_always(getNodeKeys => { key1 => 'value1', key2 => 'value2'} ); + $instance->set_always(fieldToXML => 'a tag' ); + + my $mock = $self->{mock}; + $mock->fake_module('XML::DOM::Document'); + $mock->fake_module('XML::DOM::Text'); + $mock->fake_new('XML::DOM::Document'); + $mock->fake_new('XML::DOM::Text'); + $mock->fake_new('XML::DOM::Element'); + $mock->fake_new('XML::DOM::Element'); + + $mock->set_true('-setAttribute', '-appendChild'); + $mock->set_always('toString', 'a string of xml'); + is ($instance->toXML, 'a string of xml', '...should return XML.'); + my ($method, $args) = $instance->next_call; + + is($method, 'getNodeKeys', '...should get exportable keys from node object.'); + + ($method, $args) = $instance->next_call; + is ($method, 'fieldToXML', '...asks for field in XML.'); + is_deeply ($args, [$instance, $mock, 'key1', ' '], '...with arguments.'); } sub test_existing_node_matches : Test(1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |