lib/PublicInbox/Hval.pm | 15 +-------------- t/hval.t | 15 ++++++++++++++- diff --git a/lib/PublicInbox/Hval.pm b/lib/PublicInbox/Hval.pm index 39256ee01e0380bdfafd8c655265a82ceb796100..2589c519db9e895fb2ddf82ca9212b4749ba10d6 100644 --- a/lib/PublicInbox/Hval.pm +++ b/lib/PublicInbox/Hval.pm @@ -10,7 +10,7 @@ use Encode qw(find_encoding); use PublicInbox::MID qw/mid_clean mid_escape/; use base qw/Exporter/; our @EXPORT_OK = qw/ascii_html obfuscate_addrs to_filename src_escape - to_attr from_attr prurl/; + to_attr prurl/; my $enc_ascii = find_encoding('us-ascii'); # safe-ish acceptable filename pattern for portability @@ -145,19 +145,6 @@ $first = sprintf('Z%02x', ord($1)); } $str =~ s/([^A-Za-z0-9_\.\-])/$ESCAPES{$1}/egms; utf8::decode($str); # allow wide chars - $first . $str; -} - -# reverse the result of to_attr -sub from_attr ($) { - my ($str) = @_; - my $first = ''; - if ($str =~ s/\AZ([a-f0-9]{2})//ms) { - $first = chr(hex($1)); - } - $str =~ s!::([a-f0-9]{2})!chr(hex($1))!egms; - $str =~ tr!:!/!; - utf8::decode($str); $first . $str; } diff --git a/t/hval.t b/t/hval.t index f93d6be6f0bd03df0fc04911348241b4a7fdc358..53f52f07ca960733aa5fffe68001eaf617228f8c 100644 --- a/t/hval.t +++ b/t/hval.t @@ -3,7 +3,20 @@ # License: AGPL-3.0+ use strict; use warnings; use Test::More; -use_ok 'PublicInbox::Hval', qw(from_attr to_attr); +use_ok 'PublicInbox::Hval', qw(to_attr); + +# reverse the result of to_attr +sub from_attr ($) { + my ($str) = @_; + my $first = ''; + if ($str =~ s/\AZ([a-f0-9]{2})//ms) { + $first = chr(hex($1)); + } + $str =~ s!::([a-f0-9]{2})!chr(hex($1))!egms; + $str =~ tr!:!/!; + utf8::decode($str); + $first . $str; +} my $ibx = { -no_obfuscate_re => qr/(?:example\.com)\z/i,