#!perl
use strict;
use warnings FATAL => 'all';
use Test::More tests => 13;
use HTML::FillInForm::Lite;
my $o = HTML::FillInForm::Lite->new(decode_entity => 1);
my $s = <<'EOT';
<input type="radio" value="<bar>" name="foo" />
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/checked/, "radio with HTML entities (numeric)";
$s = <<'EOT';
<input type="radio" value="<bar>" name="foo" />
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/checked/, "radio with HTML entities (hex numeric)";
$s = <<'EOT';
<input type="checkbox" value="<bar>" name="foo" />
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/checked/, "checkbox with HTML entities (numeric)";
$s = <<'EOT';
<select name="foo">
<option value="<bar>">ok</option>
</select>
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/selected/, "select with value, with HTML entities (numeric)";
$s = <<'EOT';
<select name="foo">
<option><bar></option>
</select>
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/selected/, "select without values, with HTML entities (numeric)";
$s = <<'EOT';
<input type="radio" value="<bar>" name="foo" />
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/checked/, "radio with HTML entities";
$s = <<'EOT';
<input type="radio" value="<bar>" name="foo" />
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/checked/, "checkbox with HTML entities";
$s = <<'EOT';
<select name="foo">
<option value="<bar>">ok</option>
</select>
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/selected/, "select with value, with HTML entities";
$s = <<'EOT';
<select name="foo">
<option><bar></option>
</select>
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/selected/, "select without values, with HTML entities";
$o = HTML::FillInForm::Lite->new(decode_entity => 0);
$s = <<'EOT';
<select name="foo">
<option><bar></option>
</select>
EOT
like $o->fill(\$s, { foo => '<bar>' }), qr/selected/, 'decode_entity => 0';
like $o->fill(\$s, { foo => '<bar>' }, decode_entity => 1), qr/selected/, 'decode_entity => 1 (overrided)';
unlike $o->fill(\$s, { foo => '<bar>'}, decode_entity => sub{ 'hoge' }), qr/selected/, 'decode_entity => sub{ ... }';
$s = <<'EOT';
<select name="foo">
<option>&foobar;</option>
</select>
EOT
like $o->fill(\$s, {foo => '&foobar;'}, decode_entity => 1), qr/selected/, 'undefined entity';