RT 4.0.22
[freeside.git] / rt / t / mail / charsets-outgoing.t
index e3f13fb..8727213 100644 (file)
@@ -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
+