File Coverage

blib/lib/WWW/Google/Groups/Search.pm
Criterion Covered Total %
statement 18 43 41.8
branch 1 2 50.0
condition 1 4 25.0
subroutine 5 6 83.3
pod 0 2 0.0
total 25 57 43.8


line stmt bran cond sub pod time code
1             # $Id: Search.pm,v 1.6 2003/09/21 18:20:36 cvspub Exp $
2             package WWW::Google::Groups::Search;
3              
4 1     1   6 use strict;
  1         1  
  1         40  
5              
6 1     1   5 use WWW::Mechanize;
  1         1  
  1         15  
7 1     1   5 use Data::Dumper;
  1         1  
  1         44  
8              
9              
10 1     1   547 use WWW::Google::Groups::SearchResult;
  1         3  
  1         443  
11             sub search {
12 1     1 0 15 my $self = shift;
13 1         5 my %arg = @_;
14              
15 1   50     11 $arg{limit} ||= 10;
16              
17 1         12 $self->{_agent}->get($self->{_server});
18              
19 1 50 0     1320247 warn "You need to give your query.\n" and return unless $arg{query};
20 1         134 $self->{_agent}->submit_form(
21             form_number => 1,
22             fields => {
23             q => $arg{query},
24             }
25             );
26              
27 0           my @result;
28 0           my (@title, @url);
29 0           @url =
30 0           map{$_->[0]}
31 0           grep {$_->[0]=~/threadm=/o}
32             $self->{_agent}->links;
33 0           @title = map{$_->[1]} grep {$_->[0]=~/selm=/o} $self->{_agent}->links;
  0            
  0            
34 0           @result =
35 0           map {+{ _url => $_->[0], _title => $_->[1] }}
36 0           map {[ $url[$_], $title[$_] ]} 0..$#url;
37              
38 0           while(@result < $arg{limit}){
39 0           $self->{_agent}->follow_link( text_regex => qr/\bNext\b/ );
40 0           @url = map{$_->[0]} grep {$_->[0]=~/threadm=/o} $self->{_agent}->links;
  0            
  0            
41 0           @title = map{$_->[1]} grep {$_->[0]=~/selm=/o} $self->{_agent}->links;
  0            
  0            
42 0           push @result,
43 0           map {+{ _url => $_->[0], _title => $_->[1] }}
44 0           map { [ $url[$_], $title[$_] ] } 0..$#url;
45             }
46 0           new WWW::Google::Groups::SearchResult($self, \@result);
47             }
48              
49              
50             sub adv_search {
51 0     0 0   my $self = shift;
52 0           my %arg = @_;
53             }
54              
55              
56              
57             1;
58             __END__