require File::Temp;
my $cmd = [ qw(w3m -T text/html -dump -config /dev/null) ];
my ($out, $err) = ('', '');
+
+ # workaround https://bugs.debian.org/927409
+ $$ref =~ s/'/'/sg;
+
IPC::Run::run($cmd, \('<pre>'.$$ref.'</pre>'), \$out, \$err);
# expand tabs and normalize whitespace,
# w3m doesn't preserve tabs
}
}
-my $nr = $ENV{TEST_MEMLEAK};
-if ($nr && -r "/proc/$$/status") {
- my $fh;
- open $fh, '<', "/proc/$$/status";
- diag "starting at memtest at ".join('', grep(/VmRSS:/, <$fh>));
- PublicInbox::HlMod->new->do_hl(\$orig) for (1..$nr);
- open $fh, '<', "/proc/$$/status";
- diag "creating $nr instances: ".join('', grep(/VmRSS:/, <$fh>));
- my $hls = PublicInbox::HlMod->new;
- $hls->do_hl(\$orig) for (1..$nr);
- $hls = undef;
- open $fh, '<', "/proc/$$/status";
- diag "reused instance $nr times: ".join('', grep(/VmRSS:/, <$fh>));
+if ('experimental, only for help text') {
+ my $tmp = <<'EOF';
+:>
+```perl
+my $foo = 1 & 2;
+```
+:<
+EOF
+ $hls->do_hl_text(\$tmp);
+ my @hl = split(/^/m, $tmp);
+ is($hl[0], ":>\n", 'first line escaped');
+ is($hl[1], "```perl\n", '2nd line preserved');
+ like($hl[2], qr/<span\b/, 'code highlighted');
+ like($hl[2], qr/&/, 'ampersand escaped');
+ is($hl[3], "```\n", '4th line preserved');
+ is($hl[4], ":<\n", '5th line escaped');
+ is(scalar(@hl), 5, 'no extra line');
+
}
done_testing;