This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #127635] s///r with -DPERL_NO_COW attempts to modify source SV
[perl5.git] / t / re / subst.t
index 7826ecb..26a78c7 100644 (file)
@@ -5,11 +5,13 @@ BEGIN {
     require './test.pl';
     set_up_inc('../lib');
     require Config; import Config;
+    require constant;
+    constant->import(constcow => *Config::{NAME});
     require './charset_tools.pl';
     require './loc_tools.pl';
 }
 
-plan( tests => 269 );
+plan( tests => 270 );
 
 $_ = 'david';
 $a = s/david/rules/r;
@@ -18,6 +20,11 @@ ok( $_ eq 'david' && $a eq 'rules', 'non-destructive substitute' );
 $a = "david" =~ s/david/rules/r;
 ok( $a eq 'rules', 's///r with constant' );
 
+#[perl #127635] failed with -DPERL_NO_COW perl build (George smoker uses flag)
+#Modification of a read-only value attempted at ../t/re/subst.t line 23.
+$a = constcow =~ s/Config/David/r;
+ok( $a eq 'David::', 's///r with COW constant' );
+
 $a = "david" =~ s/david/"is"."great"/er;
 ok( $a eq 'isgreat', 's///er' );