X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fmail%2Fcharsets-outgoing.t;h=872721325946ec12fbd3645f224c43d91f1bd562;hb=ed1f84b4e8f626245995ecda5afcf83092c153b2;hp=e3f13fb6c14e5145cc03cc744f59873f75da3165;hpb=b5c4237a34aef94976bc343c8d9e138664fc3984;p=freeside.git diff --git a/rt/t/mail/charsets-outgoing.t b/rt/t/mail/charsets-outgoing.t index e3f13fb6c..872721325 100644 --- a/rt/t/mail/charsets-outgoing.t +++ b/rt/t/mail/charsets-outgoing.t @@ -1,7 +1,5 @@ -#!/usr/bin/perl use strict; use warnings; -use Encode; use RT::Test tests => 78; @@ -18,8 +16,6 @@ my %string = ( }, ); -RT::Test->set_mail_catcher; - my $queue = RT::Test->load_or_create_queue( Name => 'Regression', CorrespondAddress => 'rt-recipient@example.com', @@ -27,15 +23,15 @@ my $queue = RT::Test->load_or_create_queue( ); ok $queue && $queue->id, 'loaded or created queue'; -diag "make sure queue has no subject tag" if $ENV{'TEST_VERBOSE'}; +diag "make sure queue has no subject tag"; { my ($status, $msg) = $queue->SetSubjectTag( undef ); ok $status, "set subject tag for the queue" or diag "error: $msg"; } -diag "set intial simple autoreply template" if $ENV{'TEST_VERBOSE'}; +diag "set intial simple autoreply template"; { - my $template = RT::Template->new( $RT::SystemUser ); + my $template = RT::Template->new( RT->SystemUser ); $template->Load('Autoreply'); ok $template->id, "loaded autoreply tempalte"; @@ -49,9 +45,9 @@ diag "set intial simple autoreply template" if $ENV{'TEST_VERBOSE'}; or diag "error: $msg"; } -diag "basic test of autoreply" if $ENV{'TEST_VERBOSE'}; +diag "basic test of autoreply"; { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => 'test', @@ -61,10 +57,9 @@ diag "basic test of autoreply" if $ENV{'TEST_VERBOSE'}; ok @mails, "got some outgoing emails"; } -diag "non-ascii Subject with ascii prefix set in the template" - if $ENV{'TEST_VERBOSE'}; +diag "non-ascii Subject with ascii prefix set in the template"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -76,7 +71,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$set}{test}/ or do { $status = 0; diag "wrong subject: $subject" }; } @@ -85,15 +80,15 @@ foreach my $set ( 'ru', 'latin1' ) { foreach my $tag_set ( 'ru', 'latin1' ) { -diag "set non-ascii subject tag for the queue" if $ENV{'TEST_VERBOSE'}; +diag "set non-ascii subject tag for the queue"; { my ($status, $msg) = $queue->SetSubjectTag( $string{$tag_set}{support} ); ok $status, "set subject tag for the queue" or diag "error: $msg"; } -diag "ascii subject with non-ascii subject tag" if $ENV{'TEST_VERBOSE'}; +diag "ascii subject with non-ascii subject tag"; { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => 'test', @@ -105,16 +100,16 @@ diag "ascii subject with non-ascii subject tag" if $ENV{'TEST_VERBOSE'}; my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$tag_set}{support}/ or do { $status = 0; diag "wrong subject: $subject" }; } ok $status, "all mails have correct data"; } -diag "non-ascii subject with non-ascii subject tag" if $ENV{'TEST_VERBOSE'}; +diag "non-ascii subject with non-ascii subject tag"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -126,7 +121,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$tag_set}{support}/ or do { $status = 0; diag "wrong subject: $subject" }; $subject =~ /$string{$set}{test}/ @@ -137,7 +132,7 @@ foreach my $set ( 'ru', 'latin1' ) { } # subject tag -diag "return back the empty subject tag" if $ENV{'TEST_VERBOSE'}; +diag "return back the empty subject tag"; { my ($status, $msg) = $queue->SetSubjectTag( undef ); ok $status, "set subject tag for the queue" or diag "error: $msg"; @@ -146,9 +141,9 @@ diag "return back the empty subject tag" if $ENV{'TEST_VERBOSE'}; foreach my $prefix_set ( 'ru', 'latin1' ) { -diag "add non-ascii subject prefix in the autoreply template" if $ENV{'TEST_VERBOSE'}; +diag "add non-ascii subject prefix in the autoreply template"; { - my $template = RT::Template->new( $RT::SystemUser ); + my $template = RT::Template->new( RT->SystemUser ); $template->Load('Autoreply'); ok $template->id, "loaded autoreply tempalte"; @@ -161,9 +156,9 @@ diag "add non-ascii subject prefix in the autoreply template" if $ENV{'TEST_VERB ok $status, "changed content of the template" or diag "error: $msg"; } -diag "ascii subject with non-ascii subject prefix in template" if $ENV{'TEST_VERBOSE'}; +diag "ascii subject with non-ascii subject prefix in template"; { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => 'test', @@ -175,17 +170,16 @@ diag "ascii subject with non-ascii subject prefix in template" if $ENV{'TEST_VER my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$prefix_set}{autoreply}/ or do { $status = 0; diag "wrong subject: $subject" }; } ok $status, "all mails have correct data"; } -diag "non-ascii subject with non-ascii subject prefix in template" - if $ENV{'TEST_VERBOSE'}; +diag "non-ascii subject with non-ascii subject prefix in template"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -197,7 +191,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$prefix_set}{autoreply}/ or do { $status = 0; diag "wrong subject: $subject" }; $subject =~ /$string{$set}{test}/ @@ -207,16 +201,15 @@ foreach my $set ( 'ru', 'latin1' ) { } foreach my $tag_set ( 'ru', 'latin1' ) { -diag "set non-ascii subject tag for the queue" if $ENV{'TEST_VERBOSE'}; +diag "set non-ascii subject tag for the queue"; { my ($status, $msg) = $queue->SetSubjectTag( $string{$tag_set}{support} ); ok $status, "set subject tag for the queue" or diag "error: $msg"; } -diag "non-ascii subject, non-ascii prefix in template and non-ascii tag" - if $ENV{'TEST_VERBOSE'}; +diag "non-ascii subject, non-ascii prefix in template and non-ascii tag"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -228,7 +221,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$prefix_set}{autoreply}/ or do { $status = 0; diag "wrong subject: $subject" }; $subject =~ /$string{$tag_set}{support}/ @@ -241,7 +234,7 @@ foreach my $set ( 'ru', 'latin1' ) { } # subject tag -diag "flush subject tag of the queue" if $ENV{'TEST_VERBOSE'}; +diag "flush subject tag of the queue"; { my ($status, $msg) = $queue->SetSubjectTag( undef ); ok $status, "set subject tag for the queue" or diag "error: $msg"; @@ -250,11 +243,11 @@ diag "flush subject tag of the queue" if $ENV{'TEST_VERBOSE'}; } # prefix set -diag "don't change subject via template" if $ENV{'TEST_VERBOSE'}; +diag "don't change subject via template"; # clean DB has autoreply that always changes subject in template, # we should test situation when subject is not changed from template { - my $template = RT::Template->new( $RT::SystemUser ); + my $template = RT::Template->new( RT->SystemUser ); $template->Load('Autoreply'); ok $template->id, "loaded autoreply tempalte"; @@ -267,9 +260,9 @@ diag "don't change subject via template" if $ENV{'TEST_VERBOSE'}; ok $status, "changed content of the template" or diag "error: $msg"; } -diag "non-ascii Subject without changes in template" if $ENV{'TEST_VERBOSE'}; +diag "non-ascii Subject without changes in template"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -281,7 +274,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$set}{test}/ or do { $status = 0; diag "wrong subject: $subject" }; } @@ -289,16 +282,15 @@ foreach my $set ( 'ru', 'latin1' ) { } foreach my $tag_set ( 'ru', 'latin1' ) { -diag "set non-ascii subject tag for the queue" if $ENV{'TEST_VERBOSE'}; +diag "set non-ascii subject tag for the queue"; { my ($status, $msg) = $queue->SetSubjectTag( $string{$tag_set}{support} ); ok $status, "set subject tag for the queue" or diag "error: $msg"; } -diag "non-ascii Subject without changes in template and with non-ascii subject tag" - if $ENV{'TEST_VERBOSE'}; +diag "non-ascii Subject without changes in template and with non-ascii subject tag"; foreach my $set ( 'ru', 'latin1' ) { - my $ticket = RT::Ticket->new( $RT::SystemUser ); + my $ticket = RT::Ticket->new( RT->SystemUser ); $ticket->Create( Queue => $queue->id, Subject => $string{$set}{test}, @@ -310,7 +302,7 @@ foreach my $set ( 'ru', 'latin1' ) { my $status = 1; foreach my $mail ( @mails ) { my $entity = parse_mail( $mail ); - my $subject = Encode::decode_utf8( $entity->head->get('Subject') ); + my $subject = Encode::decode( "UTF-8", $entity->head->get('Subject') ); $subject =~ /$string{$set}{test}/ or do { $status = 0; diag "wrong subject: $subject" }; $subject =~ /$string{$tag_set}{support}/ @@ -320,3 +312,4 @@ foreach my $set ( 'ru', 'latin1' ) { } } # subject tag set +