diff options
author | James Raspass <jraspass@gmail.com> | 2014-12-06 22:51:57 +0000 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-12-06 19:42:32 -0800 |
commit | 15c41403d2d0c2e464b1c4bf8497d45d28917282 (patch) | |
tree | 20373fbf1e14fe9dc029f5aeb7b548b6d61780b4 /t | |
parent | b4db5868141d6a659beb640efc92eabae9cd71c0 (diff) | |
download | perl-15c41403d2d0c2e464b1c4bf8497d45d28917282.tar.gz |
Tweak sv_pos_b2u_flags check in pp_index
There's no need to run sv_pos_b2u_flags if the retval is one as
one byte can only be one character, therefore change the test to
"> 1". This makes index on unicode strings that match at 1 slightly
faster.
Diffstat (limited to 't')
-rw-r--r-- | t/op/index.t | 6 | ||||
-rw-r--r-- | t/perf/benchmarks | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/t/op/index.t b/t/op/index.t index fd5a98fc48..29a477146e 100644 --- a/t/op/index.t +++ b/t/op/index.t @@ -8,7 +8,7 @@ BEGIN { } use strict; -plan( tests => 121 ); +plan( tests => 122 ); run_tests() unless caller; @@ -253,3 +253,7 @@ is index('the main road', __PACKAGE__), 4, '[perl #119169] __PACKAGE__ as 2nd argument'; } # end of sub run_tests + +utf8::upgrade my $substr = "\x{a3}a"; + +is index($substr, 'a'), 1, 'index reply reflects characters not octets'; diff --git a/t/perf/benchmarks b/t/perf/benchmarks index c137d0c9ec..52e2af9400 100644 --- a/t/perf/benchmarks +++ b/t/perf/benchmarks @@ -69,5 +69,11 @@ setup => 'my ($x, $y)', code => '($x, $y) = (1, 2)', }, + + 'expr::index::utf8_postion_1' => { + desc => 'index of a utf8 string, matching at position 1', + setup => 'utf8::upgrade my $x = "abc"', + code => 'index $x, "b"', + }, ]; |