/[pgestraier]/trunk/t/pgest.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/t/pgest.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9 - (hide annotations)
Sun May 22 21:18:11 2005 UTC (19 years ago) by dpavlin
File MIME type: application/x-troff
File size: 1495 byte(s)
support query in which only attribute is specified

1 dpavlin 8 #!/usr/bin/perl -w
2    
3     use strict;
4    
5 dpavlin 9 use Test::More tests => 33;
6 dpavlin 8
7     BEGIN {
8     use_ok('DBI');
9     use_ok('DBD::Pg');
10     };
11    
12     # hum?
13     my $connect = "DBI:Pg:dbname=test";
14    
15     my $dbh = DBI->connect($connect,"","") || die $DBI::errstr;
16     ok($dbh, "dbh");
17    
18     my $pwd = $0;
19     $pwd =~ s#/[^/]*$##;
20     if ($pwd !~ m#^/#) {
21     my $cwd = `pwd`;
22     chomp($cwd);
23     $pwd = $cwd . '/' . $pwd;
24     }
25     ok($pwd, "pwd: $pwd");
26     my $index = "$pwd/../data/casket/";
27    
28     my $sql = "select * from pgest('$index',?,?,?,?)";
29     diag "$sql";
30    
31     my $sth = $dbh->prepare($sql) || die $dbh->errstr();
32     ok($sth, "sth");
33    
34     sub pgest {
35     $sth->execute(@_) || die $sth->errstr();
36     ok($sth, "execute(".join(",",@_).")");
37    
38     my @arr;
39     while (my $row = $sth->fetchrow_hashref() ) {
40     push @arr, $row;
41     }
42     ok(@arr, "results ".($#arr + 1));
43    
44     return @arr;
45     }
46    
47     sub estcmd {
48     my $q = shift;
49 dpavlin 9 my $attr = shift;
50 dpavlin 8
51 dpavlin 9 my $cmd = "estcmd search ";
52     $cmd .= " -attr '$attr' " if ($attr);
53     $q ||= '';
54     $cmd .= "$index '$q'";
55 dpavlin 8 diag $cmd;
56    
57     open(my $fh, "$cmd |") || die "cmd: $!";
58     while(<$fh>) {
59     if (/^HIT=(\d+)/) {
60     return $1;
61     }
62     }
63     return undef;
64     }
65    
66 dpavlin 9 # test simple query
67     foreach my $q (qw(blade runner Philip k. dick)) {
68 dpavlin 8
69     ok(my $hits = estcmd($q), "estcmd: $q");
70    
71     diag "$hits hits";
72    
73     cmp_ok(scalar pgest($q, '', 0, 0), '==', $hits, 'blade runner');
74     }
75 dpavlin 9
76     # test attr query
77     foreach my $q (('@title STRINC Blade Runner', '@title ISTRBW blade runner')) {
78    
79     ok(my $hits = estcmd('',$q), "estcmd: $q");
80    
81     diag "$hits hits";
82    
83     cmp_ok(scalar pgest('', $q, 0, 0), '==', $hits, 'blade runner');
84     }
85    

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26