The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

use Test::More tests => 8;
use HTML::HTML5::Entities qw[encode_entities_numeric encode_entities];
ok($HTML::HTML5::Entities::hex, 'hex encoding by default');
$HTML::HTML5::Entities::hex = 0;
is(encode_entities('&'), '&', 'encode_entities works');
is(encode_entities('a&b'), 'a&b', 'safe characters pass through');
is(encode_entities('a&b', 'a&'), 'a&b', 'unsafe characters can be specified');
is(encode_entities('a&b', qr/[&a-z]/), 'a&b', 'unsafe characters can be regexps');
is(encode_entities_numeric('&'), '&', 'numeric encoding works');
$HTML::HTML5::Entities::hex = 1;
is(encode_entities_numeric('&'), '&', 'hex encoding works');
my $var = '&';
encode_entities($var);
is($var, '&', 'in-place encoding works');