about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-10-31 09:26:58 +0000
committerEric Wong <e@80x24.org>2021-10-31 17:37:31 +0000
commit27015c3365fd069013e58c6cc06e7be38f4fbe4f (patch)
tree5fe0cbb9ed089e5b89b3e5ed527d466e04295b9b
parent3702b79a2d469f9ba8fa7e4d18502f6b2fba50e3 (diff)
downloadpublic-inbox-27015c3365fd069013e58c6cc06e7be38f4fbe4f.tar.gz
Xapian boolean terms rely on upper-case prefixes, so the terms
themselves need to be all lowercase.
-rw-r--r--lib/PublicInbox/LeiInput.pm2
-rw-r--r--t/lei-tag.t14
2 files changed, 12 insertions, 4 deletions
diff --git a/lib/PublicInbox/LeiInput.pm b/lib/PublicInbox/LeiInput.pm
index 84fc579d..a1dcc907 100644
--- a/lib/PublicInbox/LeiInput.pm
+++ b/lib/PublicInbox/LeiInput.pm
@@ -30,7 +30,7 @@ my %ERR = (
                 my ($label) = @_;
                 length($label) >= $L_MAX and
                         return "`$label' too long (must be <= $L_MAX)";
-                $label =~ m{\A[a-z0-9_](?:[a-z0-9_\-\./\@,]*[a-z0-9])?\z}i ?
+                $label =~ m{\A[a-z0-9_](?:[a-z0-9_\-\./\@,]*[a-z0-9])?\z} ?
                         undef : "`$label' is invalid";
         },
         kw => sub {
diff --git a/t/lei-tag.t b/t/lei-tag.t
index 44e4659f..5941cd0f 100644
--- a/t/lei-tag.t
+++ b/t/lei-tag.t
@@ -84,11 +84,19 @@ test_lei(sub {
         lei_ok(qw(ls-label));
         is($lei_out, "nope\nqp\nurgent\n", 'ls-label shows qp');
 
-        lei_ok qw(tag -F eml t/utf8.eml +L:INBOX +L:x);
+        lei_ok qw(tag -F eml t/utf8.eml +L:inbox +L:x);
         lei_ok qw(q m:testmessage@example.com);
-        $check_kw->([qw(answered seen)], L => [qw(INBOX nope urgent x)]);
+        $check_kw->([qw(answered seen)], L => [qw(inbox nope urgent x)]);
         lei_ok(qw(ls-label));
-        is($lei_out, "INBOX\nnope\nqp\nurgent\nx\n", 'ls-label shows qp');
+        is($lei_out, "inbox\nnope\nqp\nurgent\nx\n", 'ls-label shows qp');
+
+        lei_ok qw(q L:inbox);
+        is(json_utf8->decode($lei_out)->[0]->{blob},
+                $r2->[0]->{blob}, 'label search works');
+
+        ok(!lei(qw(tag -F eml t/utf8.eml +L:ALLCAPS)), '+L:ALLCAPS fails');
+        lei_ok(qw(ls-label));
+        is($lei_out, "inbox\nnope\nqp\nurgent\nx\n", 'ls-label unchanged');
 
         if (0) { # TODO label+kw search w/ externals
                 lei_ok(qw(q L:qp), "mid:$mid", '--only', "$ro_home/t2");