Changeset 14734 for lang/perl/Email-Address-JP-Mobile
- Timestamp:
- 06/28/08 02:06:14 (5 years ago)
- Location:
- lang/perl/Email-Address-JP-Mobile/trunk
- Files:
-
- 2 modified
-
lib/Email/Address/JP/Mobile.pm (modified) (7 diffs)
-
t/01_mobile.t (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Email-Address-JP-Mobile/trunk/lib/Email/Address/JP/Mobile.pm
r14690 r14734 8 8 our $carrier_list = [ 9 9 { 10 newname => 'NonMobile', 11 oldname => 'NonMobile', 12 letter => 'N', 13 methods => [qw( is_non_mobile )], 14 detector => sub { not is_mobile_jp(shift) }, 15 encoding => 'iso-2022-jp', 16 }, 17 { 18 newname => 'DoCoMo', 19 oldname => 'DoCoMo', 10 name => 'DoCoMo', 20 11 letter => 'D', 21 methods => [qw( is_docomo is_imode )],22 12 detector => \&is_imode, 23 13 encoding => 'x-sjis-docomo', 24 14 }, 25 15 { 26 newname => 'EZweb', 27 oldname => 'EZweb', 16 name => 'EZweb', 28 17 letter => 'E', 29 methods => [qw( is_kddi is_ezweb )],30 18 detector => \&is_ezweb, 31 19 encoding => 'x-sjis-kddi-auto', 32 20 }, 33 21 { 34 newname => 'ThirdForce', 35 oldname => 'Vodafone', 22 name => 'ThirdForce', 36 23 letter => 'V', 37 methods => [qw( is_softbank is_thirdforce is_vodafone is_j_phone )],38 24 detector => \&is_vodafone, 39 25 encoding => 'x-utf8-softbank', 40 26 }, 41 27 { 42 newname => 'AirHPhone', 43 oldname => 'AirH', 28 name => 'AirHPhone', 44 29 letter => 'H', 45 methods => [qw( is_willcom is_airhphone is_airh )],46 30 detector => sub { 47 31 my $email = shift; … … 50 34 encoding => 'x-sjis-docomo', # XXX x-sjis-airh ?? 51 35 }, 36 { 37 name => 'NonMobile', 38 letter => 'N', 39 detector => sub { not is_mobile_jp(shift) }, 40 encoding => 'iso-2022-jp', 41 }, 52 42 ]; 53 43 54 # make is_* method55 for my $carrier (@$carrier_list) {56 no strict 'refs'; ## no critic57 for my $method (@{ $carrier->{methods} }) {58 *{'Email::Address::'.$method} = sub {59 my $self = shift;60 $carrier->{detector}->($self->address) ? 1 : 0;61 };62 }63 }64 65 44 sub Email::Address::is_mobile { 66 45 my $self = shift; … … 71 50 my $self = shift; 72 51 my $carrier = __carrier($self->address); 73 $carrier->{n ewname};52 $carrier->{name}; 74 53 } 75 76 sub Email::Address::carrier_name_aka {77 my $self = shift;78 my $carrier = __carrier($self->address);79 $carrier->{oldname};80 }81 82 *Email::Address::carrier = \&Email::Address::carrier_letter;83 54 84 55 sub Email::Address::carrier_letter { … … 102 73 103 74 return { # dummy 104 n ewname=> '',75 name => '', 105 76 oldname => '', 106 77 letter => '', … … 124 95 125 96 $email->is_mobile; # 1 126 $email->is_non_mobile; # 0127 $email->is_docomo; # 1128 $email->is_ezweb; # 0129 $email->is_softbank; # 0130 97 $email->carrier_name; # DoCoMo 131 98 $email->carrier_letter; # D 132 ...99 $email->encoding_name; # x-sjis-docomo 133 100 134 101 =head1 DESCRIPTION … … 145 112 =item is_mobile 146 113 147 =item is_non_mobile148 149 =item is_docomo, is_imode150 151 =item is_kddi, is_ezweb152 153 =item is_softbank, is_thirdforce, is_j_phone, is_vodafone154 155 =item is_willcom, is_airhphone, is_airh156 157 114 These return 1 or 0. 158 115 159 =item carrier , carrier_letter116 =item carrier_letter 160 117 161 118 Returns L<HTTP::MobileAgent> (and L<HTTP::MobileAttribute>) 's carrier() value … … 165 122 166 123 Returns L<HTTP::MobileAttribute>'s carrier_longname() value like "ThirdForce". 167 168 =item carrier_name_aka169 170 Returns L<HTTP::MobileAgent>'s carrier_longname() value like "Vodafone".171 124 172 125 =item encoding_name -
lang/perl/Email-Address-JP-Mobile/trunk/t/01_mobile.t
r14690 r14734 60 60 for my $address (@non_mobile) { 61 61 my ($email) = Email::Address::Loose->parse($address); 62 ok $email->is_non_mobile($address), $address;63 62 ok ! $email->is_mobile($address), $address; 64 ok ! $email->is_docomo($address), $address;65 ok ! $email->is_kddi($address), $address;66 ok ! $email->is_softbank($address), $address;67 ok ! $email->is_willcom($address), $address;68 63 is $email->carrier_name, 'NonMobile', $address; 69 is $email->carrier_name_aka, 'NonMobile', $address;70 is $email->carrier, 'N', $address;71 64 is $email->carrier_letter, 'N', $address; 72 65 is $email->encoding_name, 'iso-2022-jp'; … … 76 69 my ($email) = Email::Address::Loose->parse($address); 77 70 ok $email->is_mobile($address), $address; 78 ok ! $email->is_non_mobile($address), $address;79 71 } 80 72 81 73 for my $address (@docomo) { 82 74 my ($email) = Email::Address::Loose->parse($address); 83 ok $email->is_docomo($address), $address;84 ok $email->is_imode($address), $address;85 75 ok $email->is_mobile($address), $address; 86 ok ! $email->is_non_mobile($address), $address;87 ok ! $email->is_kddi($address), $address;88 ok ! $email->is_softbank($address), $address;89 ok ! $email->is_willcom($address), $address;90 76 is $email->carrier_name, 'DoCoMo', $address; 91 is $email->carrier_name_aka, 'DoCoMo', $address;92 is $email->carrier, 'D', $address;93 77 is $email->carrier_letter, 'D', $address; 94 78 is $email->encoding_name, 'x-sjis-docomo'; … … 97 81 for my $address (@kddi) { 98 82 my ($email) = Email::Address::Loose->parse($address); 99 ok $email->is_kddi($address), $address;100 ok $email->is_ezweb($address), $address;101 83 ok $email->is_mobile($address), $address; 102 ok ! $email->is_non_mobile($address), $address;103 ok ! $email->is_docomo($address), $address;104 ok ! $email->is_softbank($address), $address;105 ok ! $email->is_willcom($address), $address;106 84 is $email->carrier_name, 'EZweb', $address; 107 is $email->carrier_name_aka, 'EZweb', $address;108 is $email->carrier, 'E', $address;109 85 is $email->carrier_letter, 'E', $address; 110 86 is $email->encoding_name, 'x-sjis-kddi-auto'; … … 113 89 for my $address (@softbank) { 114 90 my ($email) = Email::Address::Loose->parse($address); 115 ok $email->is_softbank($address), $address;116 ok $email->is_thirdforce($address), $address;117 ok $email->is_vodafone($address), $address;118 ok $email->is_j_phone($address), $address;119 91 ok $email->is_mobile($address), $address; 120 ok ! $email->is_non_mobile($address), $address;121 ok ! $email->is_docomo($address), $address;122 ok ! $email->is_kddi($address), $address;123 ok ! $email->is_willcom($address), $address;124 92 is $email->carrier_name, 'ThirdForce', $address; 125 is $email->carrier_name_aka, 'Vodafone', $address;126 is $email->carrier, 'V', $address;127 93 is $email->carrier_letter, 'V', $address; 128 94 is $email->encoding_name, 'x-utf8-softbank'; … … 131 97 for my $address (@willcom) { 132 98 my ($email) = Email::Address::Loose->parse($address); 133 ok $email->is_willcom($address), $address;134 ok $email->is_airh($address), $address;135 ok $email->is_airhphone($address), $address;136 99 ok $email->is_mobile($address), $address; 137 ok ! $email->is_non_mobile($address), $address;138 ok ! $email->is_docomo($address), $address;139 ok ! $email->is_kddi($address), $address;140 ok ! $email->is_softbank($address), $address;141 100 is $email->carrier_name, 'AirHPhone', $address; 142 is $email->carrier_name_aka, 'AirH', $address;143 is $email->carrier, 'H', $address;144 101 is $email->carrier_letter, 'H', $address; 145 102 is $email->encoding_name, 'x-sjis-docomo';
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)