#!/usr/bin/perl -T # # Test stripping CFWS [comments and folding white spaces] as # specified by rfc2822. # use strict; use warnings; use lib qw(. .. tests); use Tools; use Test::More tests => 54; use Mail::Message::Field::Fast; use Mail::Address; my @tests = ( 'aap noot mies' => 'aap noot mies' , ' aap noot mies ' => 'aap noot mies' , "aap\n noot\n" => 'aap noot' , "aap (comment) noot" => 'aap noot' , "aap () noot" => 'aap noot' , "(a) aap (comment) noot (c)" => 'aap noot' , "aap (com (nested) ment) noot" => 'aap noot' , "aap ((nested) comment) noot" => 'aap noot' , "aap (comment (nested)) noot" => 'aap noot' , "aap (comment(nested)) noot" => 'aap noot' , "aap ((nested)comment(nested)) noot" => 'aap noot' , "((nested)comment(nested)) noot" => 'noot' , "aap ((nes(ted))comment(nested)) noot" => 'aap noot' , "(nes(ted)comment(nested)) noot (aap)" => 'noot' , "aap ((nes\n\nted)co\nmment(nested)\n) noot" => 'aap noot' , '"aap" noot' => '"aap" noot' , '"aap" (noot) mies' => '"aap" mies' , '"aap" (noot) mies ' => '"aap" mies' , '"aap" noot (mies) ' => '"aap" noot' , 'aap "noot" (mies) ' => 'aap "noot"' , 'aap (noot) "mies"' => 'aap "mies"' , 'aap (noot) "mies" ' => 'aap "mies"' , 'aap (noot) "mies" (noot(nest)) aap' => 'aap "mies" aap' , 'aap \( noot' => 'aap \( noot' , 'aap "(" noot' => 'aap "(" noot' , 'aap "(noot)" mies' => 'aap "(noot)" mies' , 'aap \"(noot) mies' => 'aap \" mies' ); my @take = @tests; while(@take) { my ($from, $to) = (shift @take, shift @take); is(Mail::Message::Field->stripCFWS($from), $to ); } @take = @tests; while(@take) { my ($from, $to) = (shift @take, shift @take); my $field = Mail::Message::Field::Fast->new('Something' => $from); is($field->stripCFWS, $to); }