X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=t%2F23-resultset.t;h=7a026ffcc1b39acb9c6b348aa1e76a69623e5ad2;hb=87c72eaf97a3dbf51a93dab782c2909539addc48;hp=2c5c3beb13a079cdbe2aee51da481b3b813a809c;hpb=5909129b2f0dda765dfbf1de46a2f9b7e179a04d;p=ZOOM-Perl-moved-to-github.git diff --git a/t/23-resultset.t b/t/23-resultset.t index 2c5c3be..7a026ff 100644 --- a/t/23-resultset.t +++ b/t/23-resultset.t @@ -1,22 +1,12 @@ -# $Id: 23-resultset.t,v 1.1 2005-11-03 16:32:41 mike Exp $ - # Before `make install' is performed this script should be runnable with # `make test'. After `make install' it should work as `perl 23-resultset.t' use strict; use warnings; -use Test::More tests => 19; +use Test::More tests => 24; BEGIN { use_ok('ZOOM') }; - - - -my($errcode, $errmsg, $addinfo) = (undef, "dummy", "dummy"); - - - - -my $host = "indexdata.com/gils"; +my $host = "z3950.indexdata.com/gils"; my $conn; eval { $conn = new ZOOM::Connection($host, 0) }; ok(!$@, "connection to '$host'"); @@ -27,12 +17,17 @@ eval { $rs = $conn->search_pqf($query) }; ok(!$@, "search for '$query'"); ok($rs->size() == 2, "found 2 records"); -my $syntax = "usmarc"; +my $syntax = "canmarc"; # not supported $rs->option(preferredRecordSyntax => $syntax); my $val = $rs->option("preferredRecordSyntax"); ok($val eq $syntax, "preferred record syntax set to '$val'"); my $rec = $rs->record(0); +my($errcode, $errmsg) = $rec->error(); +ok($errcode == 238, "can't fetch CANMARC ($errmsg)"); + +$rs->option(preferredRecordSyntax => "usmarc"); +$rec = $rs->record(0); my $data1 = $rec->render(); $rs->option(elementSetName => "b"); my $data2 = $rec->render(); @@ -44,6 +39,8 @@ ok(length($data2) < length($data1), "re-fetched record is brief, old was full"); $rs->option(preferredRecordSyntax => "xml"); $rec = $rs->record(0); +my $cloned = $rec->clone(); +ok(defined $cloned, "cloned record"); $data2 = $rec->render(); ok($data2 =~ //i, "option for XML syntax is honoured"); @@ -79,3 +76,9 @@ $rs->destroy(); ok(1, "destroyed result-set"); $conn->destroy(); ok(1, "destroyed connection"); + +$data3 = $cloned->render(); +ok(1, "rendered cloned record after its result-set was destroyed"); +ok($data3 eq $data2, "render of clone as expected"); +$cloned->destroy(); +ok(1, "destroyed cloned record");