/[Search-Estraier]/trunk/t/1_Document.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/1_Document.t

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

revision 26 by dpavlin, Thu Jan 5 15:05:58 2006 UTC revision 97 by dpavlin, Sat Jan 28 18:19:47 2006 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use blib;  use blib;
5    
6  use Test::More tests => 31;  use Test::More tests => 54;
7  use Test::Exception;  use Test::Exception;
8  use Data::Dumper;  use Data::Dumper;
9    
# Line 17  BEGIN { use_ok('Search::Estraier') }; Line 17  BEGIN { use_ok('Search::Estraier') };
17  my $attr_data = {  my $attr_data = {
18          '@uri' => 'http://localhost/Search-Estraier/',          '@uri' => 'http://localhost/Search-Estraier/',
19          'size' => 42,          'size' => 42,
20            'zero' => 0,
21            'foo' => 'bar',
22            'empty' => '',
23  };  };
24    
25  my @test_texts = (  my @test_texts = (
# Line 36  ok($doc->delete, "delete"); Line 39  ok($doc->delete, "delete");
39  ok($doc = new Search::Estraier::Document, 'new');  ok($doc = new Search::Estraier::Document, 'new');
40    
41  foreach my $a (keys %{$attr_data}) {  foreach my $a (keys %{$attr_data}) {
42          my $d = $attr_data->{$a} || die;          my $d = $attr_data->{$a};
43          ok($doc->add_attr($a, $d), "add_attr $a");          ok($doc->add_attr($a, $d), "add_attr $a = $d");
44            diag "draft:\n",$doc->dump_draft,Dumper($doc->{attrs});
45          cmp_ok($doc->attr($a), 'eq', $d, "attr $a = $d");          cmp_ok($doc->attr($a), 'eq', $d, "attr $a = $d");
46  }  }
47    
# Line 47  foreach my $t (@test_texts) { Line 51  foreach my $t (@test_texts) {
51    
52  ok($doc->add_hidden_text('This is hidden text'), 'add_hidden_text');  ok($doc->add_hidden_text('This is hidden text'), 'add_hidden_text');
53    
54  throws_ok { my $text = $doc->texts } qr/return array/, 'texts scalar';  ok(my @texts = $doc->texts, 'texts');
 ok(my @texts = $doc->texts, 'texts array');  
55    
56  ok(my $draft = $doc->dump_draft, 'dump_draft');  ok(my $draft = $doc->dump_draft, 'dump_draft');
57    
58    foreach my $a (keys %{$attr_data}) {
59            my $regex = $a . '=' . $attr_data->{$a};
60            like($draft, qr/$regex/, "draft has $regex");
61    }
62    
63  #diag "dump_draft:\n$draft";  #diag "dump_draft:\n$draft";
64    
65  ok(my $doc2 = new Search::Estraier::Document($draft), 'new from draft');  ok(my $doc2 = new Search::Estraier::Document($draft), 'new from draft');
# Line 63  cmp_ok($doc2->id, '==', -1, 'id'); Line 71  cmp_ok($doc2->id, '==', -1, 'id');
71  ok(my @attr = $doc->attr_names, 'attr_names');  ok(my @attr = $doc->attr_names, 'attr_names');
72  #diag "attr_names: ", join(',',@attr), "\n";  #diag "attr_names: ", join(',',@attr), "\n";
73    
74  cmp_ok(scalar @attr, '==', 2, 'attr_names');  cmp_ok(scalar @attr, '==', keys %{$attr_data}, 'attr_names');
75    
76  ok(! $doc->attr('foobar'), "non-existant attr");  ok(! $doc->attr('foobar'), "non-existant attr");
77    
78  foreach my $a (keys %{$attr_data}) {  foreach my $a (keys %{$attr_data}) {
79          cmp_ok($attr_data->{$a}, 'eq', $doc->attr($a), "attr $a = ".$attr_data->{$a});          cmp_ok($doc->attr($a), 'eq', $attr_data->{$a}, "attr $a = ".$attr_data->{$a});
80          ok($doc->add_attr($a, undef), "delete attribute");          ok($doc->add_attr($a, undef), "delete attribute");
81  }  }
82    
# Line 82  ok(eq_array(\@test_texts, \@texts), 'tex Line 90  ok(eq_array(\@test_texts, \@texts), 'tex
90  ok(my $cat_text = $doc->cat_texts, 'cat_text');  ok(my $cat_text = $doc->cat_texts, 'cat_text');
91  #diag "cat_texts: $cat_text";  #diag "cat_texts: $cat_text";
92    
93    ok($doc = new Search::Estraier::Document, 'new empty');
94    ok(! $doc->texts, 'texts');
95    cmp_ok($doc->dump_draft, 'eq', "\n", 'dump_draft');
96    cmp_ok($doc->id, '==', -1, 'id');
97    ok(! $doc->attr_names, 'attr_names');
98    ok(! $doc->attr(undef), 'attr');
99    ok(! $doc->cat_texts, 'cat_texts');
100    
101  #diag Dumper($doc);  #diag Dumper($doc);

Legend:
Removed from v.26  
changed lines
  Added in v.97

  ViewVC Help
Powered by ViewVC 1.1.26