/[jsFind]/trunk/t/10homer.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

Annotation of /trunk/t/10homer.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 23 - (hide annotations)
Thu Oct 7 16:21:54 2004 UTC (19 years, 7 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1784 byte(s)
convert all print STDERR to diag, rename homer test to end with .t (woops),
create homer_words.txt and homer_text.txt, preserve order when inserting
into index (it doesn't really matter for index, but it's nice to have
debugging output which is correct)

1 dpavlin 20 #!/usr/bin/perl
2    
3     use strict;
4     use warnings;
5    
6     use Test::More tests => 5;
7     use blib;
8     use jsFind;
9     use Data::Dumper;
10    
11     BEGIN { use_ok('jsFind'); }
12    
13     my $t = new jsFind B => 100;
14    
15 dpavlin 21 ok(-e "t/homer.txt", "Homer: The Odyssey preface");
16 dpavlin 20
17     my $p = 0;
18     my $text = '';
19     my %words;
20 dpavlin 23 my $word_count = 0;
21     my $max_words = 100;
22 dpavlin 20
23     my $res;
24    
25 dpavlin 23 my $full_text;
26    
27 dpavlin 21 ok(open(U, "t/homer.txt"), "open homer.txt");
28 dpavlin 20 while(<U>) {
29     chomp;
30     if (/^\s*$/) {
31     $p++;
32    
33 dpavlin 23 $full_text .= "\n" if ($full_text);
34     $full_text = "paragraph $p\n\n";
35    
36 dpavlin 20 diag "paragraph $p";
37    
38     my %usage;
39 dpavlin 23
40     my @words = split(/\s+/,lc($text));
41    
42     foreach (@words) {
43 dpavlin 20 $usage{$_}++;
44     }
45    
46 dpavlin 23 foreach my $word (@words) {
47 dpavlin 20
48     $words{$word} += $usage{$word};
49    
50     $res->{$word}->{$p} = $usage{$word};
51    
52     $t->B_search(
53     Key => $word,
54     Data => { "$p" => {
55     t => "Ulyss paragraph $p",
56     f => $usage{$word},
57     },
58     },
59     Insert => 1,
60     Append => 1,
61     );
62 dpavlin 23
63     $word_count++;
64    
65     $full_text .= "$word ";
66    
67     last if ($max_words && $word_count >= $max_words);
68 dpavlin 20 }
69    
70     $text = '';
71    
72 dpavlin 23 last if ($max_words && $word_count >= $max_words);
73 dpavlin 20 } else {
74     $text .= $_;
75     }
76    
77     }
78    
79     my $test_data = Dumper($res);
80     $test_data =~ s/=>/:/gs;
81     $test_data =~ s/\$VAR1/var test_data/;
82     open(JS, "> html/test_data.js") || die "can't open test_data.js: $!";
83     print JS $test_data;
84     close(JS);
85    
86     ok($test_data, "test_data saved");
87    
88     #my $sum = 0;
89     #foreach my $w (keys %words) {
90     # print STDERR "$w: $words{$w}\n";
91     # $sum += $words{$w};
92     #}
93    
94 dpavlin 23 if (open(T,"> homer_text.txt")) {
95     print T $full_text;
96     close(T);
97     }
98     diag "homer_text.txt created";
99    
100     if (open(T,"> homer_words.txt")) {
101     print T $t->to_string;
102     close(T);
103     }
104     diag "homer_words.txt created";
105    
106 dpavlin 20 my $total_words = scalar keys %words;
107    
108 dpavlin 21 cmp_ok($t->to_jsfind("./html/homer"), '==', $total_words, " jsfind index with $total_words words");

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26