7efb8daa4b719c6d0d47f52536e9790fd91d3a58
[idzebra-moved-to-github.git] / perl / t / 04_cql.t
1 #!perl
2 # =============================================================================
3 # $Id: 04_cql.t,v 1.1 2003-03-03 00:44:39 pop Exp $
4 #
5 # Perl API header
6 # =============================================================================
7 BEGIN {
8     if ($ENV{PERL_CORE}) {
9         chdir 't' if -d 't';
10     }
11     push (@INC,'demo','blib/lib','blib/arch');
12 }
13
14 use strict;
15 use warnings;
16
17 use Test::More tests => 7;
18
19 # ----------------------------------------------------------------------------
20 # Session opening and closing
21 BEGIN {
22     use IDZebra;
23     IDZebra::logFile("test.log");
24     use_ok('IDZebra::Session'); 
25 }
26
27
28 # ----------------------------------------------------------------------------
29 # Session opening and closing
30 my $sess = IDZebra::Session->new();
31
32 # ----------------------------------------------------------------------------
33 # CQL stuff
34 $sess->cqlmap('demo/cql.map');
35
36 $SIG{__WARN__} = \&catch_warn;
37
38 &check_cql($sess, "IDZebra", 0);
39 &check_cql($sess, "dc.title=IDZebra", 0);
40 &check_cql($sess, "dc.title=(IDZebra and Session)", 0);
41 &check_cql($sess, "dc.title=IDZebra and Session)", -1);
42 &check_cql($sess, "dc.title='IDZebra::Session'", 0);
43 &check_cql($sess, "anything=IDZebra", 15);
44
45 sub check_cql {
46     my ($sess, $query, $exp) = @_;
47     my ($rpn, $stat) = $sess->cql2pqf($query);
48     if ($exp) {
49         ok(($stat == $exp), "Wrong query ($stat): '$query'");
50     } else {
51         ok((($stat == 0) && ($rpn ne "")), "Good query query: '$query'");
52     }
53 }
54
55
56 sub catch_warn {
57     1;
58 }