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;