This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
079df9314b751b9da3847e3a67f7204bc4eba7d8
[perl5.git] / t / op / sprintf2.t
1 #!./perl -w
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6     require './test.pl';
7 }   
8
9 plan tests => 4;
10
11 is(
12     sprintf("%.40g ",0.01),
13     sprintf("%.40g", 0.01)." ",
14     q(the sprintf "%.<number>g" optimization)
15 );
16 is(
17     sprintf("%.40f ",0.01),
18     sprintf("%.40f", 0.01)." ",
19     q(the sprintf "%.<number>f" optimization)
20 );
21 {
22         chop(my $utf8_format = "%-3s\x{100}");
23         is(
24                 sprintf($utf8_format, "\xe4"),
25                 "\xe4  ",
26                 q(width calculation under utf8 upgrade)
27         );
28 }
29
30 # Used to mangle PL_sv_undef
31 fresh_perl_is(
32     'print sprintf "xxx%n\n"; print undef',
33     'Modification of a read-only value attempted at - line 1.',
34     { switches => [ '-w' ] },
35     q(%n should not be able to modify read-only constants),
36 )