Add Ubuntu quantal
[ZOOM-Perl-moved-to-github.git] / t / 23-resultset.t
index 2c5c3be..7a026ff 100644 (file)
@@ -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 =~ /<title>/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");