1#!./perl -w
2
3use strict ;
4use lib 't';
5use BerkeleyDB;
6use Test::More;
7use util ;
8
9plan(skip_all => "this needs Berkeley DB 4.x.x or better\n" )
10    if $BerkeleyDB::db_version < 4;
11
12
13plan tests => 9;
14
15my $Dfile = "dbhash.tmp";
16unlink $Dfile;
17
18umask(0) ;
19
20my $db = BerkeleyDB::Btree->new(
21	-Filename => $Dfile,
22	-Flags    => DB_CREATE,
23	-Property => DB_DUP | DB_DUPSORT
24) || die "Cannot open file $Dfile: $! $BerkeleyDB::Error\n" ;
25
26my $cursor = $db->db_cursor();
27
28my @pairs = qw(
29	Alabama/Athens
30	Alabama/Florence
31	Alaska/Anchorage
32	Alaska/Fairbanks
33	Arizona/Avondale
34	Arizona/Florence
35);
36
37for (@pairs) {
38	$db->db_put(split '/');
39}
40
41my @tests = (
42	["Alaska", "Fa", "Alaska", "Fairbanks"],
43	["Arizona", "Fl", "Arizona", "Florence"],
44	["Alaska", "An", "Alaska", "Anchorage"],
45);
46
47#my $i;
48while (my $test = shift @tests) {
49	my ($k1, $v1, $k2, $v2) = @$test;
50	ok $cursor->c_get($k1, $v1, DB_GET_BOTH_RANGE) ==  0;
51	is $k1, $k2;
52	is $v1, $v2;
53}
54
55undef $db;
56unlink $Dfile;
57