Fix test added in change 23645 with an eval()
[p5sagit/p5-mst-13.2.git] / t / op / substr.t
index 681ac6d..9549d29 100755 (executable)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..188\n";
+print "1..190\n";
 
 #P = start of string  Q = start of substr  R = end of substr  S = end of string
 
@@ -640,3 +640,21 @@ ok 174, $x eq "\x{100}\x{200}\xFFb";
     $foo = '123456789';
     ok 188, bar eq '123456789';
 }
+
+# [perl #29149]
+{
+    my $text  = "0123456789\xED ";
+    utf8::upgrade($text);
+    my $pos = 5;
+    pos($text) = $pos;
+    my $a = substr($text, $pos, $pos);
+    ok 189, substr($text,$pos,1) eq $pos;
+
+}
+
+# [perl #23765]
+{
+    my $a = pack("C", 0xbf);
+    substr($a, -1) &= chr(0xfeff);
+    ok 190, $a eq "\xbf";
+}