Mercurial > pub > Impl
comparison _test/Test/Lang.pm @ 194:4d0e1962161c
Replaced tabs with spaces
IMPL::Web::View - fixed document model, new features (control classes, document constructor parameters)
author | cin |
---|---|
date | Tue, 10 Apr 2012 20:08:29 +0400 |
parents | d1676be8afcc |
children |
comparison
equal
deleted
inserted
replaced
193:8e8401c0aea4 | 194:4d0e1962161c |
---|---|
9 use Scalar::Util qw(reftype); | 9 use Scalar::Util qw(reftype); |
10 | 10 |
11 __PACKAGE__->PassThroughArgs; | 11 __PACKAGE__->PassThroughArgs; |
12 | 12 |
13 test equals => sub { | 13 test equals => sub { |
14 assert( equals(1,1) ); | 14 assert( equals(1,1) ); |
15 assert( !equals(1,2) ); | 15 assert( !equals(1,2) ); |
16 | 16 |
17 { | 17 { |
18 my $warns = 0; | 18 my $warns = 0; |
19 local $SIG{__WARN__} = sub { $warns++ }; | 19 local $SIG{__WARN__} = sub { $warns++ }; |
20 | 20 |
21 assert( !equals("1","2") ); | 21 assert( !equals("1","2") ); |
22 assert( equals("sfds","zxcvgfd") ); | 22 assert( equals("sfds","zxcvgfd") ); |
23 assert( $warns == 2); | 23 assert( $warns == 2); |
24 } | 24 } |
25 | 25 |
26 assert( equals(undef,undef) ); | 26 assert( equals(undef,undef) ); |
27 assert( !equals(1,undef) ); | 27 assert( !equals(1,undef) ); |
28 assert( !equals(undef,"zcx") ); | 28 assert( !equals(undef,"zcx") ); |
29 }; | 29 }; |
30 | 30 |
31 test equals_s => sub { | 31 test equals_s => sub { |
32 assert( equals_s(1,1) ); | 32 assert( equals_s(1,1) ); |
33 assert( !equals_s(1,2) ); | 33 assert( !equals_s(1,2) ); |
34 | 34 |
35 assert( !equals_s("1","2") ); | 35 assert( !equals_s("1","2") ); |
36 assert( !equals_s("sfds","zxcvgfd") ); | 36 assert( !equals_s("sfds","zxcvgfd") ); |
37 | 37 |
38 assert( equals_s(undef,undef) ); | 38 assert( equals_s(undef,undef) ); |
39 assert( !equals_s(1,undef) ); | 39 assert( !equals_s(1,undef) ); |
40 assert( !equals_s(undef,"zcx") ); | 40 assert( !equals_s(undef,"zcx") ); |
41 | 41 |
42 assert( equals_s("qwerty","qwerty") ); | 42 assert( equals_s("qwerty","qwerty") ); |
43 }; | 43 }; |
44 | 44 |
45 test hash => sub { | 45 test hash => sub { |
46 | 46 |
47 my %a = ( | 47 my %a = ( |
48 a => 'a', | 48 a => 'a', |
49 b => 'b', | 49 b => 'b', |
50 c => 'c' | 50 c => 'c' |
51 ); | 51 ); |
52 | 52 |
53 my %b = ( | 53 my %b = ( |
54 a => 'a', | 54 a => 'a', |
55 c => 'z', | 55 c => 'z', |
56 x => 'x', | 56 x => 'x', |
57 ); | 57 ); |
58 | 58 |
59 my %diff = ( | 59 my %diff = ( |
60 '-b' => 1, | 60 '-b' => 1, |
61 '+c' => 'z', | 61 '+c' => 'z', |
62 '+x' => 'x' | 62 '+x' => 'x' |
63 ); | 63 ); |
64 | 64 |
65 | 65 |
66 assert( ! hashCompare(\%a,\%b) ); | 66 assert( ! hashCompare(\%a,\%b) ); |
67 assert( hashCompare(\%a,\%a) ); | 67 assert( hashCompare(\%a,\%a) ); |
68 | 68 |
69 my $res = hashDiff(\%a,\%b); | 69 my $res = hashDiff(\%a,\%b); |
70 | 70 |
71 assert( ! hashCompare({},$res) ); | 71 assert( ! hashCompare({},$res) ); |
72 assert( hashCompare($res,\%diff) ); | 72 assert( hashCompare($res,\%diff) ); |
73 | 73 |
74 assert( hashCompare( \%b, hashMerge(\%a,\%diff) ) ); | 74 assert( hashCompare( \%b, hashMerge(\%a,\%diff) ) ); |
75 | 75 |
76 }; | 76 }; |
77 | 77 |
78 test clone => sub { | 78 test clone => sub { |
79 | 79 |
80 my $a; | 80 my $a; |
81 | 81 |
82 my $b = clone($a); | 82 my $b = clone($a); |
83 | 83 |
84 assert(not defined $b); | 84 assert(not defined $b); |
85 | 85 |
86 my $lp = { a => '1', rx => qr/abc$/ }; | 86 my $lp = { a => '1', rx => qr/abc$/ }; |
87 $lp->{b} = $lp; | 87 $lp->{b} = $lp; |
88 | 88 |
89 my $c = clone($lp); | 89 my $c = clone($lp); |
90 | 90 |
91 assert($c); | 91 assert($c); |
92 assert($c->{b}); | 92 assert($c->{b}); |
93 assert($c->{b} == $c); | 93 assert($c->{b} == $c); |
94 assert(reftype $c->{rx} eq 'REGEXP'); | 94 assert(reftype $c->{rx} eq 'REGEXP'); |
95 | 95 |
96 }; | 96 }; |
97 | 97 |
98 test hashParse => sub { | 98 test hashParse => sub { |
99 my $res = hashParse("a = test a\nb = test b\nc c=test c"); | 99 my $res = hashParse("a = test a\nb = test b\nc c=test c"); |
100 | 100 |
101 assert($res->{a} eq "test a"); | 101 assert($res->{a} eq "test a"); |
102 assert($res->{b} eq "test b"); | 102 assert($res->{b} eq "test b"); |
103 assert($res->{"c c"} eq "test c"); | 103 assert($res->{"c c"} eq "test c"); |
104 | 104 |
105 $res = hashParse("a:b, c: d",qr/\s*:\s*/,qr/\s*,\s*/); | 105 $res = hashParse("a:b, c: d",qr/\s*:\s*/,qr/\s*,\s*/); |
106 | 106 |
107 assert($res->{a} eq "b"); | 107 assert($res->{a} eq "b"); |
108 assert($res->{c} eq "d"); | 108 assert($res->{c} eq "d"); |
109 }; | 109 }; |
110 | 110 |
111 1; | 111 1; |