RT 4.0.22
[freeside.git] / rt / t / web / offline_utf8.t
index 2a3e64d..aab3049 100644 (file)
@@ -1,13 +1,12 @@
-#!/usr/bin/env perl
 use strict;
 use warnings;
 
-use RT::Test tests => 8;
-use File::Temp qw/tempfile/;
-use Encode;
+use RT::Test tests => 9;
+
 use RT::Ticket;
-my ( $fh, $file ) = tempfile;
-my $template = <<EOF;
+my $file = File::Spec->catfile( RT::Test->temp_directory, 'template' );
+open my $fh, '>', $file or die $!;
+my $template = Encode::decode("UTF-8",<<EOF);
 ===Create-Ticket: ticket1
 Queue: General
 Subject: 标题
@@ -17,7 +16,7 @@ Content:
 ENDOFCONTENT
 EOF
 
-print $fh $template;
+print $fh Encode::encode("UTF-8",$template);
 close $fh;
 
 my ( $url, $m ) = RT::Test->started_ok;
@@ -31,24 +30,24 @@ $m->submit_form(
     button    => 'Parse',
 );
 
-$m->content_contains( '这是正文', 'content is parsed right' );
+$m->content_contains( Encode::decode("UTF-8",'这是正文'), 'content is parsed right' );
 
 $m->submit_form(
     form_name => 'TicketUpdate',
     button    => 'UpdateTickets',
 
     # mimic what browsers do: they seems decoded $template
-    fields    => { string => decode( 'utf8', $template ), },
+    fields    => { string => $template },
 );
 
 $m->content_like( qr/Ticket \d+ created/, 'found ticket created message' );
 my ( $ticket_id ) = $m->content =~ /Ticket (\d+) created/;
 
-my $ticket = RT::Ticket->new( $RT::SystemUser );
+my $ticket = RT::Ticket->new( RT->SystemUser );
 $ticket->Load( $ticket_id );
-is( $ticket->Subject, '标题', 'subject in $ticket is right' );
+is( $ticket->Subject, Encode::decode("UTF-8",'标题'), 'subject in $ticket is right' );
 
-$m->get_ok( $url . "/Ticket/Display.html?id=$ticket_id" );
-$m->content_contains( '这是正文',
+$m->goto_ticket($ticket_id);
+$m->content_contains( Encode::decode("UTF-8",'这是正文'),
     'content is right in ticket display page' );