File: 03-FF-Value-Callback.t

package info (click to toggle)
libwww-mechanize-formfiller-perl 0.13-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 308 kB
  • sloc: perl: 1,555; sh: 6; makefile: 2
file content (42 lines) | stat: -rwxr-xr-x 1,166 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use strict;

my @values;
BEGIN {
  @values = ("foo","bar","","baz",1,0);
};

use Test::More tests => 1 + scalar @values * 7;

use_ok("WWW::Mechanize::FormFiller::Value::Callback");

SKIP: {
  eval { require Test::MockObject };
  skip "Need Test::MockObject to do tests on values", scalar @values *7 if $@;

  my $called;
  my $value;
  my $return_value;

  sub callback {
    my ($ff_value,$form_value) = @_;
    isa_ok($ff_value,"WWW::Mechanize::FormFiller::Value::Callback");
    $called = 1;
    can_ok($form_value, "value");
    is($form_value->value,$value,"Value passed correctly to callback ($value)");
    $return_value;
  };

  my $val;
  for $val (@values) {
    $value = $val;
    undef $called;
    $return_value = $value;

    my $input = Test::MockObject->new()->set_always('value',$value);
    my $v = WWW::Mechanize::FormFiller::Value::Callback->new("foo",\&callback);
    isa_ok($v,"WWW::Mechanize::FormFiller::Value::Callback");
    can_ok($v,"value");
    is($v->value($input),$return_value,"Callback returns the correct value for ('$value')");
    is($called,1,"Callback was called for ($value)");
  };
};