lib/PublicInbox/LeiInput.pm | 2 +- t/lei-tag.t | 14 +++++++++++--- diff --git a/lib/PublicInbox/LeiInput.pm b/lib/PublicInbox/LeiInput.pm index 84fc579dc4803b48624b2e445db8efddbf9a1c37..a1dcc907252f47d7716a83e799e2912a34be2416 100644 --- a/lib/PublicInbox/LeiInput.pm +++ b/lib/PublicInbox/LeiInput.pm @@ -30,7 +30,7 @@ L => sub { 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 44e4659fc2262db3b76420c85eae9d3f3210d28f..5941cd0f3da7f91f7550a03a2bf45d72cdf8ee47 100644 --- a/t/lei-tag.t +++ b/t/lei-tag.t @@ -84,11 +84,19 @@ msg => 'external-only message'); 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");