1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
#!/usr/bin/perl -w
use strict;
BEGIN { $| = 1; print "1..9\n"; }
END { print "not ok 1\n" unless $::XBaseloaded; }
$| = 1;
print "Load the module: use XBase\n";
use XBase;
$::XBaseloaded = 1;
print "ok 1\n";
my $dir = ( -d "t" ? "t" : "." );
$XBase::Base::DEBUG = 1; # We want to see any problems
print "Open table $dir/rooms\n";
my $table = new XBase "$dir/rooms" or do
{
print XBase->errstr, "not ok 2\n";
exit
};
print "ok 2\n";
print "prepare_select_with_index on ROOMNAME\n";
my $cur = $table->prepare_select_with_index([ "$dir/rooms.cdx", 'ROOMNAME' ]) or
print $table->errstr, 'not ';
print "ok 3\n";
my $result = '';
print "Fetch all data\n";
while (my @data = $cur->fetch)
{ print "@data\n"; $result .= "@data\n"; }
my $expected_result = '';
my $line;
while (defined($line = <DATA>))
{ last if $line eq "__END_DATA__\n"; $expected_result .= $line; }
if ($result ne $expected_result)
{ print "Expected:\n${expected_result}Got:\n${result}not "; }
print "ok 4\n";
print "find_eq('Celco') and fetch\n";
$cur->find_eq('Celco');
$result = ''; $expected_result = '';
while (my @data = $cur->fetch())
{ $result .= "@data\n"; }
while (defined($line = <DATA>))
{ last if $line eq "__END_DATA__\n"; $expected_result .= $line; }
if ($result ne $expected_result)
{ print "Expected:\n${expected_result}Got:\n${result}not "; }
print "ok 5\n";
print "find_eq('Celca') and fetch (it doesn't exist, so the result should be the same)\n";
$cur->find_eq('Celca');
$result = '';
while (my @data = $cur->fetch())
{ $result .= "@data\n"; }
if ($result ne $expected_result)
{ print "Expected:\n${expected_result}Got:\n${result}not "; }
print "ok 6\n";
print "prepare_select_with_index on FACILITY\n";
$cur = $table->prepare_select_with_index([ "$dir/rooms.cdx", 'FACILITY' ],
'FACILITY', 'ROOMNAME') or
print $table->errstr, 'not ';
print "ok 7\n";
print "find_eq('Film') and fetch\n";
$cur->find_eq('Film');
$result = ''; $expected_result = '';
while (my @data = $cur->fetch())
{ last if $data[0] ne 'Film'; $result .= "@data\n"; }
while (defined($line = <DATA>))
{ last if $line eq "__END_DATA__\n"; $expected_result .= $line; }
if ($result ne $expected_result)
{ print "Expected:\n${expected_result}Got:\n${result}not "; }
print "ok 8\n";
print "find_eq('Main') and fetch\n";
$cur->find_eq('Main');
$result = ''; $expected_result = '';
while (my @data = $cur->fetch())
{ last if $data[0] ne 'Main'; $result .= "@data\n"; }
while (defined($line = <DATA>))
{ last if $line eq "__END_DATA__\n"; $expected_result .= $line; }
if ($result ne $expected_result)
{ print "Expected:\n${expected_result}Got:\n${result}not "; }
print "ok 9\n";
__END__
None
ADR-Foley Audio
AVID Main
BAY 7 Main
Bay 1 Main
Bay 2 Main
Bay 3 Main
Bay 4 Main
Bay 5 Main
Bay 6 Main
Bay 8 Main
Bay 10 Main
Bay 11 Main
Bay 12 Main
Bay 14 Main
Bay 15 Main
Bay 16 Main
Bay 17 Main
Bay 18 Main
Bay 19 Main
BullPen Film
Celco Film
Dub Main
FILM 1 Film
FILM 2 Film
FILM 3 Film
Flambe Audio
Gigapix Main
MacGrfx Main
Mach Rm Audio
Mix A Audio
Mix B Audio
Mix C Audio
Mix D Audio
Mix E Audio
Mix F Audio
Mix G Audio
Mix H Audio
Mix J Audio
SCANNING Film
Transfer Audio
__END_DATA__
Celco Film
Dub Main
FILM 1 Film
FILM 2 Film
FILM 3 Film
Flambe Audio
Gigapix Main
MacGrfx Main
Mach Rm Audio
Mix A Audio
Mix B Audio
Mix C Audio
Mix D Audio
Mix E Audio
Mix F Audio
Mix G Audio
Mix H Audio
Mix J Audio
SCANNING Film
Transfer Audio
__END_DATA__
Film FILM 1
Film FILM 2
Film FILM 3
Film SCANNING
Film BullPen
Film Celco
__END_DATA__
Main Bay 1
Main Bay 14
Main Bay 2
Main Bay 5
Main Bay 11
Main Bay 6
Main Bay 3
Main Bay 4
Main Bay 10
Main Bay 8
Main Gigapix
Main Bay 12
Main Bay 15
Main Bay 16
Main Bay 17
Main Bay 18
Main Bay 19
Main Dub
Main MacGrfx
Main AVID
Main BAY 7
__END_DATA__
|