The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;
use Test::More tests => 2;
use Escape::Houdini qw(escape_html);

subtest 'refcount' => sub {
    eval 'use Devel::Peek qw(SvREFCNT Dump); 1'
        or plan skip_all => 'test requires Devel::Peek';

    plan tests => 1;
    my $sv = escape_html('test');
    is SvREFCNT( $sv ), 1, 'Correct refcount means this should be garbage-collected properly'
        or diag Dump( $sv );
};

subtest 'leaktrace' => sub {
    eval 'use Test::LeakTrace';
    plan $@ =~ m{\QTest/LeakTrace.pm}
        ? (skip_all => "Test requires Test::LeakTrace")
        : (tests => 1);
    no_leaks_ok(sub {
        my $shouldnt_be_leaked = escape_html('<script src="http://evil.com/steal_banking_details.js"></script>');
    });
};