/[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 22 by dpavlin, Thu Jan 5 13:55:55 2006 UTC revision 166 by dpavlin, Sun Aug 6 12:48:02 2006 UTC
# Line 3  Line 3 
3  use strict;  use strict;
4  use blib;  use blib;
5    
6  use Test::More tests => 33;  use Test::More tests => 55;
7  use Test::Exception;  use Test::Exception;
8  use Data::Dumper;  use Data::Dumper;
9    
# Line 13  BEGIN { use_ok('Search::Estraier') }; Line 13  BEGIN { use_ok('Search::Estraier') };
13    
14  #cmp_ok(Search::Estraier::Document::_s("  this  is a  text  "), 'eq', 'this is a text', '_s - strip spaces');  #cmp_ok(Search::Estraier::Document::_s("  this  is a  text  "), 'eq', 'this is a text', '_s - strip spaces');
15    
16    my $debug = shift @ARGV;
17    
18  my $attr_data = {  my $attr_data = {
19          '@uri' => 'http://localhost/Search-Estraier/',          '@uri' => 'http://localhost/Search-Estraier/',
20          'size' => 42,          'size' => 42,
21            'zero' => 0,
22            'foo' => 'bar',
23            'empty' => '',
24  };  };
25    
26  my @test_texts = (  my @test_texts = (
# Line 25  my @test_texts = ( Line 29  my @test_texts = (
29          'for HyperEstraier'          'for HyperEstraier'
30  );  );
31    
32    my $vectors = {
33            'foo' => 42,
34            'bar' => 100,
35            'baz' => 0,
36    };
37    
38  ok(my $doc = new Search::Estraier::Document, 'new');  ok(my $doc = new Search::Estraier::Document, 'new');
39    
40  isa_ok($doc, 'Search::Estraier::Document');  isa_ok($doc, 'Search::Estraier::Document');
# Line 36  ok($doc->delete, "delete"); Line 46  ok($doc->delete, "delete");
46  ok($doc = new Search::Estraier::Document, 'new');  ok($doc = new Search::Estraier::Document, 'new');
47    
48  foreach my $a (keys %{$attr_data}) {  foreach my $a (keys %{$attr_data}) {
49          my $d = $attr_data->{$a} || die;          my $d = $attr_data->{$a};
50          ok($doc->add_attr($a, $d), "add_attr $a");          ok($doc->add_attr($a, $d), "add_attr $a = $d");
51            #diag "draft:\n",$doc->dump_draft,Dumper($doc->{attrs});
52          cmp_ok($doc->attr($a), 'eq', $d, "attr $a = $d");          cmp_ok($doc->attr($a), 'eq', $d, "attr $a = $d");
53  }  }
54    
# Line 47  foreach my $t (@test_texts) { Line 58  foreach my $t (@test_texts) {
58    
59  ok($doc->add_hidden_text('This is hidden text'), 'add_hidden_text');  ok($doc->add_hidden_text('This is hidden text'), 'add_hidden_text');
60    
61  throws_ok { my $text = $doc->texts } qr/return array/, 'texts scalar';  ok($doc->add_vectors( %{ $vectors } ), 'add_vectors');
62  ok(my @texts = $doc->texts, 'texts array');  
63    diag "current doc: ", Dumper($doc) if ($debug);
64    
65    ok(my @texts = $doc->texts, 'texts');
66    
67  ok(my $draft = $doc->dump_draft, 'dump_draft');  ok(my $draft = $doc->dump_draft, 'dump_draft');
68    
69  diag "dump_draft:\n$draft";  foreach my $a (keys %{$attr_data}) {
70            my $regex = $a . '=' . $attr_data->{$a};
71            like($draft, qr/$regex/, "draft has $regex");
72    }
73    
74    diag "dump_draft:\n$draft" if ($debug);
75    
76  ok(my $doc2 = new Search::Estraier::Document($draft), 'new from draft');  ok(my $doc2 = new Search::Estraier::Document($draft), 'new from draft');
77    diag "doc from draft: ", Dumper($doc2) if ($debug);
78  cmp_ok($doc2->dump_draft, 'eq', $draft, 'drafts same');  cmp_ok($doc2->dump_draft, 'eq', $draft, 'drafts same');
79    
80  cmp_ok($doc->id, '==', -1, 'id');  cmp_ok($doc->id, '==', -1, 'id');
81  cmp_ok($doc2->id, '==', -1, 'id');  cmp_ok($doc2->id, '==', -1, 'id');
82    
83  ok(my @attr = $doc->attr_names, 'attr_names');  ok(my @attr = $doc->attr_names, 'attr_names');
84  diag "attr_names: ", join(',',@attr), "\n";  diag "attr_names: ", join(',',@attr), "\n" if ($debug);
85    
86  cmp_ok(scalar @attr, '==', 2, 'attr_names');  cmp_ok(scalar @attr, '==', keys %{$attr_data}, 'attr_names');
87    
88  ok(! $doc->attr('foobar'), "non-existant attr");  ok(! $doc->attr('foobar'), "non-existant attr");
89    
90  foreach my $a (keys %{$attr_data}) {  foreach my $a (keys %{$attr_data}) {
91          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});
92          ok($doc->add_attr($a, undef), "delete attribute");          ok($doc->add_attr($a, undef), "delete attribute");
93  }  }
94    
95  @attr = $doc->attr_names;  @attr = $doc->attr_names;
96  #diag "attr_names left: ", join(',',$doc->attr_names), "\n";  diag "attr_names left: ", join(',',$doc->attr_names), "\n" if ($debug);
97  cmp_ok(@attr, '==' , 0, "attributes removed");  cmp_ok(@attr, '==' , 0, "attributes removed");
98    
99  diag "texts: ", join(',',@texts), "\n";  diag "texts: ", join(',',@texts), "\n" if ($debug);
100  ok(eq_array(\@test_texts, \@texts), 'texts');  ok(eq_array(\@test_texts, \@texts), 'texts');
101    
102  ok(my $cat_text = $doc->cat_texts, 'cat_text');  ok(my $cat_text = $doc->cat_texts, 'cat_text');
103  diag "cat_texts: $cat_text";  diag "cat_texts: $cat_text" if ($debug);
   
104    
105  SKIP: {  ok($doc = new Search::Estraier::Document, 'new empty');
106          skip "est_keywords not implemented", 2;  ok(! $doc->texts, 'texts');
107    cmp_ok($doc->dump_draft, 'eq', "\n", 'dump_draft');
108          my @keywords = $doc->keywords;  cmp_ok($doc->id, '==', -1, 'id');
109          diag "keywords: ", join(',',@keywords), "\n";  ok(! $doc->attr_names, 'attr_names');
110    ok(! $doc->attr(undef), 'attr');
111          cmp_ok(scalar @keywords, '==', 1, 'keywords');  ok(! $doc->cat_texts, 'cat_texts');
 }  
   
   
 #ok(my $snippet = $doc->make_snippet(480, 96, 96, qw(demo is)), "make_snippet");  
 #diag "make_snippet:\n$snippet";  
   
 #ok($doc->scan_words(qw(this is demo)), "scan_words");  
112    
 #diag Dumper($doc);  

Legend:
Removed from v.22  
changed lines
  Added in v.166

  ViewVC Help
Powered by ViewVC 1.1.26