/[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 25 - (hide annotations)
Thu Oct 7 17:30:03 2004 UTC (19 years, 7 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1668 byte(s)
create elements in test.html (instead of updating innerHTML), 10homer.t will
now split document in lines instead of paragraphs.

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 dpavlin 25 my $t = new jsFind B => 10;
14 dpavlin 20
15 dpavlin 21 ok(-e "t/homer.txt", "Homer: The Odyssey preface");
16 dpavlin 20
17 dpavlin 25 my $line = 0;
18 dpavlin 20 my $text = '';
19     my %words;
20 dpavlin 23 my $word_count = 0;
21 dpavlin 25 my $max_words = 10;
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 dpavlin 25 $line++;
31     next if (/^\s*$/);
32 dpavlin 20
33 dpavlin 25 $full_text = "$line: ";
34 dpavlin 23
35 dpavlin 25 my %usage;
36 dpavlin 20
37 dpavlin 25 my @words = split(/\s+/,lc($_));
38 dpavlin 23
39 dpavlin 25 foreach (@words) {
40     $usage{$_}++;
41     }
42 dpavlin 23
43 dpavlin 25 foreach my $word (@words) {
44 dpavlin 20
45 dpavlin 25 next if ($word eq '');
46 dpavlin 20
47 dpavlin 25 $words{$word} += $usage{$word};
48 dpavlin 20
49 dpavlin 25 $res->{$word}->{$line} = $usage{$word};
50 dpavlin 20
51 dpavlin 25 $t->B_search(
52     Key => $word,
53     Data => { "$line" => {
54     t => "Odyssey line $line",
55     f => $usage{$word},
56 dpavlin 20 },
57 dpavlin 25 },
58     Insert => 1,
59     Append => 1,
60     );
61 dpavlin 23
62 dpavlin 25 $word_count++;
63 dpavlin 23
64 dpavlin 25 $full_text .= "$word ";
65 dpavlin 23
66 dpavlin 25 }
67 dpavlin 20
68 dpavlin 25 $full_text = "\n";
69 dpavlin 20
70 dpavlin 25 last if ($max_words && $word_count >= $max_words);
71 dpavlin 20 }
72    
73     my $test_data = Dumper($res);
74     $test_data =~ s/=>/:/gs;
75     $test_data =~ s/\$VAR1/var test_data/;
76     open(JS, "> html/test_data.js") || die "can't open test_data.js: $!";
77     print JS $test_data;
78     close(JS);
79    
80     ok($test_data, "test_data saved");
81    
82     #my $sum = 0;
83     #foreach my $w (keys %words) {
84     # print STDERR "$w: $words{$w}\n";
85     # $sum += $words{$w};
86     #}
87    
88 dpavlin 23 if (open(T,"> homer_text.txt")) {
89     print T $full_text;
90     close(T);
91     }
92     diag "homer_text.txt created";
93    
94     if (open(T,"> homer_words.txt")) {
95     print T $t->to_string;
96     close(T);
97     }
98     diag "homer_words.txt created";
99    
100 dpavlin 20 my $total_words = scalar keys %words;
101    
102 dpavlin 21 cmp_ok($t->to_jsfind("./html/homer"), '==', $total_words, " jsfind index with $total_words words");
103 dpavlin 25
104     print Dumper($t);

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26