about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2017-06-23 20:23:07 +0000
committerEric Wong <e@80x24.org>2017-06-23 22:28:46 +0000
commit1a8eb0a43c68e64b77fdd3c4ebd977a1ab88e71b (patch)
treed60151d9613f6603b4cca5f62410eaac2a344dba /t
parentbde2d8c8de65a4d6b06e8d7365f504f2d8db90a6 (diff)
downloadpublic-inbox-1a8eb0a43c68e64b77fdd3c4ebd977a1ab88e71b.tar.gz
We will also treat all known list addresses as non-obfuscated.

By setting publicinbox.noObfuscate in ~/.public-inbox/config,
this will allow users to disable address obfuscation on a
per-domain or per-address basis.
Diffstat (limited to 't')
-rw-r--r--t/config.t28
-rw-r--r--t/hval.t33
2 files changed, 61 insertions, 0 deletions
diff --git a/t/config.t b/t/config.t
index 437f1d14..353dac69 100644
--- a/t/config.t
+++ b/t/config.t
@@ -86,4 +86,32 @@ my $tmpdir = tempdir('pi-config-XXXXXX', TMPDIR => 1, CLEANUP => 1);
         is($ibx->{nntpserver}, 'news.alt.example.com','per-inbox NNTP server');
 }
 
+# no obfuscate domains
+{
+        my $pfx = "publicinbox.test";
+        my $pfx2 = "publicinbox.foo";
+        my %h = (
+                "$pfx.address" => 'test@example.com',
+                "$pfx.mainrepo" => '/path/to/non/existent',
+                "$pfx2.address" => 'foo@example.com',
+                "$pfx2.mainrepo" => '/path/to/foo',
+                lc("publicinbox.noObfuscate") =>
+                        'public-inbox.org @example.com z@EXAMPLE.com',
+                "$pfx.obfuscate" => 'true', # :<
+        );
+        my %tmp = %h;
+        my $cfg = PublicInbox::Config->new(\%tmp);
+        my $ibx = $cfg->lookup_name('test');
+        my $re = $ibx->{-no_obfuscate_re};
+        like('meta@public-inbox.org', $re,
+                'public-inbox.org address not to be obfuscated');
+        like('t@example.com', $re, 'example.com address not to be obfuscated');
+        unlike('t@example.comM', $re, 'example.comM address does not match');
+        is_deeply($ibx->{-no_obfuscate}, {
+                        'test@example.com' => 1,
+                        'foo@example.com' => 1,
+                        'z@example.com' => 1,
+                }, 'known addresses populated');
+}
+
 done_testing();
diff --git a/t/hval.t b/t/hval.t
new file mode 100644
index 00000000..dcbd8382
--- /dev/null
+++ b/t/hval.t
@@ -0,0 +1,33 @@
+# Copyright (C) 2017 all contributors <meta@public-inbox.org>
+# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
+use strict;
+use warnings;
+use Test::More;
+use_ok 'PublicInbox::Hval';
+
+my $ibx = {
+        -no_obfuscate_re => qr/(?:example\.com)\z/i,
+        -no_obfuscate => {
+                'meta@public-inbox.org' => 1,
+        }
+};
+
+my $html = <<'EOF';
+hello@example.comm
+hello@example.com
+meta@public-inbox.org
+test@public-inbox.org
+EOF
+
+PublicInbox::Hval::obfuscate_addrs($ibx, $html);
+
+my $exp = <<'EOF';
+hello@example&#8226;comm
+hello@example.com
+meta@public-inbox.org
+test@public-inbox&#8226;org
+EOF
+
+is($html, $exp, 'only obfuscated relevant addresses');
+
+done_testing();