/[webpac2]/trunk/t/4-db.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

Diff of /trunk/t/4-db.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/t/4-db.tt revision 18 by dpavlin, Sun Jul 17 14:53:37 2005 UTC trunk/t/4-db.t revision 70 by dpavlin, Sat Nov 19 23:48:24 2005 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2    
3  use Test::More tests => 22;  use Test::More tests => 26;
4  use Test::Exception;  use Test::Exception;
5  use Cwd qw/abs_path/;  use Cwd qw/abs_path/;
6  use blib;  use blib;
# Line 16  $abs_path =~ s#/[^/]*$#/#; Line 16  $abs_path =~ s#/[^/]*$#/#;
16  diag "abs_path: $abs_path";  diag "abs_path: $abs_path";
17    
18  my $db;  my $db;
19    my $debug = 1;
20    
21  diag "NULL DB";  diag "NULL DB";
22    
23  ok($db = new WebPAC::DB( debug => 1), "new");  ok($db = new WebPAC::DB( debug => $debug, no_log => 1, ), "new");
24    
25  ok(! $db->path, "path");  ok(! $db->path, "path");
26    
27  ok(! $db->load_gs(), 'load_gs');  ok(! $db->load_ds(), 'load_ds');
28  ok(! $db->load_gs({ '000' => '000' }), 'load_gs');  ok(! $db->load_ds({ '000' => '000' }), 'load_ds');
29    
30  ok(! $db->save_gs(), "save_gs");  ok(! $db->save_ds(), "save_ds");
31  ok(! $db->save_gs({ '000' => '000' }), 'save_gs');  ok(! $db->save_ds({ '000' => '000' }), 'save_ds');
32    
33  undef $db;  undef $db;
34    
35  ok(my $path = tempdir(), "path");  ok(my $path = tempdir( CLEANUP => 1 ), "path");
36    
37  diag "DB path: $path";  diag "DB path: $path";
38    
39  ok($db = new WebPAC::DB( path => $path, debug => 1), "new");  ok($db = new WebPAC::DB( path => $path, debug => $debug, no_log => 1 ), "new");
40    
41  cmp_ok($db->{'path'}, 'eq', $path, "path");  cmp_ok($db->{'path'}, 'eq', $path, "path");
42    
43  ok(! $db->path, "path - disable caching");  ok(! $db->path(''), "path - disable caching");
44    
45  cmp_ok($db->{'path'}, '==', undef, "no path");  ok(! defined($db->{'path'}), "no path");
46    
47  ok($db->path( $path ), "path($path)");  ok($db->path( $path ), "path($path)");
48    
49  ok(! $db->load_gs(), 'load_gs');  cmp_ok($db->{'path'}, 'eq', $path, "path");
50  ok(! $db->load_gs({ '000' => '000' }), 'load_gs');  
51    ok(! $db->load_ds(), 'load_ds');
52    ok(! $db->load_ds({ '000' => '000' }), 'load_ds');
53    
54  ok(! $db->save_gs(), "save_gs");  ok(! $db->save_ds(), "save_ds");
55    
56  my @ds = [ {  my $ds = {
57          'name' => 'Izvor: ',          'Source' => {
58          'tag' => 'Source',                  'name' => 'Izvor: ',
59          'display' => [ 'foo' ]                  'tag' => 'Source',
60          }, {                  'display' => [ 'foo' ]
61          'name' => 'ID',          },
62          'tag' => 'IDths',          'ID' => {
63          'swish' => [ 'bar' ],                  'name' => 'ID',
64          'lookup_key' => [ 'bar' ]                  'tag' => 'IDths',
65          }, {                  'swish' => [ 'bar' ],
66                    'lookup_key' => [ 'bar' ]
67            },
68          'filename' => [ 'out/thes/001.html' ],          'filename' => [ 'out/thes/001.html' ],
69          'name' => 'filename',          'name' => 'filename',
70          'tag' => 'filename'          'tag' => 'filename'
71          },  };
72  ];  
73    ok(! $db->save_ds(), "empty save_ds");
74    throws_ok { $db->save_ds( foo => 1 ) } qr/ds/, "save_ds - ds";
75    throws_ok { $db->save_ds( ds => $ds ) } qr/current_filename/, "save_ds - current_filename";
76    throws_ok { $db->save_ds( ds => $ds, 'current_filename' => 'foo' ) } qr/headline/, "save_ds - headline";
77    
78    ok($db->save_ds( ds => $ds, 'current_filename' => 'foo', 'headline' => 'bar' ), "save_ds");
79    
80    ok(my $ds2 = $db->load_ds({ '000' => '000' }), "load_ds");
81    
82  ok(! $db->save_gs(), "empty save_gs");  is_deeply($ds, $ds2, "loaded data");
 throws_ok { $db->save_gs( foo => 1 ) } qr/ds/, "save_gs - ds";  
 throws_ok { $db->save_gs( ds => \@ds ) } qr/current_filename/, "save_gs - current_filename";  
 throws_ok { $db->save_gs( ds => \@ds, 'current_filename' => 'foo' ) } qr/headline/, "save_gs - headline";  
83    
84  ok($db->save_gs( ds => \@ds, 'current_filename' => 'foo', 'headline' => 'bar' ), "save_gs");  ok(! $db->load_ds({ '000' => 42 }), "load_ds non-existing");
85    
86  undef $db;  undef $db;
87    

Legend:
Removed from v.18  
changed lines
  Added in v.70

  ViewVC Help
Powered by ViewVC 1.1.26