X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=t%2F23-resultset.t;h=7a026ffcc1b39acb9c6b348aa1e76a69623e5ad2;hb=061213d9de42912112c9d5ba258b7b07403f2717;hp=31917d943364bd2fdc07f24fc01f650997ada787;hpb=6d4ef29991a70eb50929625864326f5e9e9d03dc;p=ZOOM-Perl-moved-to-github.git diff --git a/t/23-resultset.t b/t/23-resultset.t index 31917d9..7a026ff 100644 --- a/t/23-resultset.t +++ b/t/23-resultset.t @@ -1,14 +1,12 @@ -# $Id: 23-resultset.t,v 1.2 2005-11-04 16:21:04 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 $host = "indexdata.com/gils"; +my $host = "z3950.indexdata.com/gils"; my $conn; eval { $conn = new ZOOM::Connection($host, 0) }; ok(!$@, "connection to '$host'"); @@ -19,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(); @@ -36,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"); @@ -71,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");