Acme-LOLCAT
view release on metacpan or search on metacpan
#!/usr/bin/perl
use strict;
use warnings;
use Test::More qw/no_plan/;
use_ok( 'Acme::LOLCAT' );
my $p;
my $YOUR = qr/Y?(?:O|U)?(?:A|R)(?:E|R)?/;
my $Z = qr/(?:S|Z)/;
like( $p = translate( "can i please have a cheeseburger?" ),
qr/(?:I CAN|CAN I) HA$Z CHEEZBURGR\?/,
"translates cheeseburger phrase: $p" );
like( $p = translate( "you're right, i want more pickles." ),
qr/$YOUR RITE, I WANT$Z MOAR PICKLE$Z/,
"translates pickle phrase: $p" );
like( $p = translate( "I'm in your bathroom, reading your magazine" ),
qr/IM IN $YOUR BATHRO(?:O|U)M, READI?NG?$Z? $YOUR MAGAZINE/,
"translated magazine phrase: $p" );
like( $p = translate( "i'm in your world, planning your domination" ),
qr/IM IN $YOUR WH?(?:U|I)?RR?LD, PLANNI?NG?$Z? $YOUR DOMINASHUN/,
"translated domination phrase: $p" );
like( $p = translate( "i think that is a nice bucket" ),
qr/I THINK THAT (?:AR|I$Z) (?:TEH )?NICE BUKK/,
"translated bucket phrase: $p" );
like( $p = translate( "hello, i want to ask you a question" ),
qr/O(?:H$Z?)? HAI, I WANT$Z (?:TO?|2) ASK Y?(?:U|OO|OU$Z) (?:Q|K)(?:W|U)ES?(?:J|SH)UN/,
"translated question phrase: $p" );
like( $p = translate( "I'm in your bed and breakfast, eating your sausages" ),
qr/IM IN $YOUR BED AN BREKKFAST, EATI?NG?$Z? $YOUR SAUSUJ$Z?/,
"translated sausage phrase: $p" );
like( $p = translate( "free parties, events & more! what's happening? who's going?" ),
qr/FREE PARTIE$Z?, EVENT$Z? & MOAR! WH?UT$Z HAPPENI?NG?$Z?\? HOO$Z GOI?NG?$Z?\?/,
"translated party ad text: $p" );
like( $p = translate( "I have a bucket." ),
qr/I HA[SVZ] ?A? BUKK/, "translated bucket having phrase: $p" );
like( $p = translate( "Thank god I've updated this module." ),
qr/(?:THN?X|(?:T|F)ANK) CEILING CAT IVE UPDATED THIS MODULE/,
"translated diety phrase: $p" );
( run in 0.795 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )