Add more known sprintf failures.
[p5sagit/p5-mst-13.2.git] / t / op / length.t
1 #!./perl
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6 }
7
8 print "1..13\n";
9
10 print "not " unless length("")    == 0;
11 print "ok 1\n";
12
13 print "not " unless length("abc") == 3;
14 print "ok 2\n";
15
16 $_ = "foobar";
17 print "not " unless length()      == 6;
18 print "ok 3\n";
19
20 # Okay, so that wasn't very challenging.  Let's go Unicode.
21
22 {
23     my $a = "\x{41}";
24
25     print "not " unless length($a) == 1;
26     print "ok 4\n";
27     $test++;
28
29     use bytes;
30     print "not " unless $a eq "\x41" && length($a) == 1;
31     print "ok 5\n";
32     $test++;
33 }
34
35 {
36     my $a = qu"\x{80}"; # make "\x{80}" to produce UTF-8
37     
38     print "not " unless length($a) == 1;
39     print "ok 6\n";
40     $test++;
41     
42     use bytes;
43     print "not " unless $a eq "\xc2\x80" && length($a) == 2;
44     print "ok 7\n";
45     $test++;
46 }
47
48 {
49     my $a = "\x{100}";
50     
51     print "not " unless length($a) == 1;
52     print "ok 8\n";
53     $test++;
54     
55     use bytes;
56     print "not " unless $a eq "\xc4\x80" && length($a) == 2;
57     print "ok 9\n";
58     $test++;
59 }
60
61 {
62     my $a = "\x{100}\x{80}";
63     
64     print "not " unless length($a) == 2;
65     print "ok 10\n";
66     $test++;
67     
68     use bytes;
69     print "not " unless $a eq "\xc4\x80\xc2\x80" && length($a) == 4;
70     print "ok 11\n";
71     $test++;
72 }
73
74 {
75     my $a = "\x{80}\x{100}";
76     
77     print "not " unless length($a) == 2;
78     print "ok 12\n";
79     $test++;
80     
81     use bytes;
82     print "not " unless $a eq "\xc2\x80\xc4\x80" && length($a) == 4;
83     print "ok 13\n";
84     $test++;
85 }