X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=t%2F13-resultset.t;h=046bb7b5eebb491ebe33d0bdd3dfa84541a345e5;hb=bc1064f676d60c92f03cb0cf5d05fbca4f2fd7a6;hp=b3760e865f72df2d94d7be8e5c01667c41879958;hpb=affe0dd834f1fc0df12706aa3c37d9392fdba5cd;p=ZOOM-Perl-moved-to-github.git diff --git a/t/13-resultset.t b/t/13-resultset.t index b3760e8..046bb7b 100644 --- a/t/13-resultset.t +++ b/t/13-resultset.t @@ -1,16 +1,16 @@ -# $Id: 13-resultset.t,v 1.5 2005-11-03 16:04:04 mike Exp $ +# $Id: 13-resultset.t,v 1.9 2006-11-28 16:47:19 mike Exp $ # Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl 13-resultset.t' use strict; use warnings; -use Test::More tests => 19; +use Test::More tests => 24; BEGIN { use_ok('Net::Z3950::ZOOM') }; my($errcode, $errmsg, $addinfo) = (undef, "dummy", "dummy"); -my $host = "indexdata.com/gils"; +my $host = "z3950.indexdata.com/gils"; my $conn = Net::Z3950::ZOOM::connection_new($host, 0); $errcode = Net::Z3950::ZOOM::connection_error($conn, $errmsg, $addinfo); ok($errcode == 0, "connection to '$host'"); @@ -21,12 +21,18 @@ $errcode = Net::Z3950::ZOOM::connection_error($conn, $errmsg, $addinfo); ok($errcode == 0, "search for '$query'"); ok(Net::Z3950::ZOOM::resultset_size($rs) == 2, "found 2 records"); -my $syntax = "usmarc"; +my $syntax = "canmarc"; Net::Z3950::ZOOM::resultset_option_set($rs, preferredRecordSyntax => $syntax); my $val = Net::Z3950::ZOOM::resultset_option_get($rs, "preferredRecordSyntax"); ok($val eq $syntax, "preferred record syntax set to '$val'"); my $rec = Net::Z3950::ZOOM::resultset_record($rs, 0); +my $diagset = ""; +$errcode = Net::Z3950::ZOOM::record_error($rec, $errmsg, $addinfo, $diagset); +ok($errcode == 238, "can't fetch CANMARC ($errmsg)"); + +Net::Z3950::ZOOM::resultset_option_set($rs, preferredRecordSyntax => "usmarc"); +$rec = Net::Z3950::ZOOM::resultset_record($rs, 0); my $len = 0; my $data1 = Net::Z3950::ZOOM::record_get($rec, "render", $len); Net::Z3950::ZOOM::resultset_option_set($rs, elementSetName => "b"); @@ -39,6 +45,8 @@ ok(length($data2) < length($data1), "re-fetched record is brief, old was full"); Net::Z3950::ZOOM::resultset_option_set($rs, preferredRecordSyntax => "xml"); $rec = Net::Z3950::ZOOM::resultset_record($rs, 0); +my $cloned = Net::Z3950::ZOOM::record_clone($rec); +ok(defined $cloned, "cloned record"); $data2 = Net::Z3950::ZOOM::record_get($rec, "render", $len); ok($data2 =~ //i, "option for XML syntax is honoured"); @@ -73,3 +81,9 @@ Net::Z3950::ZOOM::resultset_destroy($rs); ok(1, "destroyed result-set"); Net::Z3950::ZOOM::connection_destroy($conn); ok(1, "destroyed connection"); + +$data3 = Net::Z3950::ZOOM::record_get($cloned, "render", $len); +ok(1, "rendered cloned record after its result-set was destroyed"); +ok($data3 eq $data2, "render of clone as expected"); +Net::Z3950::ZOOM::record_destroy($cloned); +ok(1, "destroyed cloned record");