X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fweb%2Fticket-create-utf8.t;h=107e41d719f6387520ed03607923e4e044fa439d;hb=ed1f84b4e8f626245995ecda5afcf83092c153b2;hp=a4d7ae98de47aaf20e237e3b1289b53720bf89cb;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/t/web/ticket-create-utf8.t b/rt/t/web/ticket-create-utf8.t index a4d7ae98d..107e41d71 100644 --- a/rt/t/web/ticket-create-utf8.t +++ b/rt/t/web/ticket-create-utf8.t @@ -1,18 +1,18 @@ -#!/usr/bin/perl use strict; use warnings; -use RT::Test tests => 14; - -$RT::Test::SKIP_REQUEST_WORK_AROUND = 1; - -use Encode; +use RT::Test tests => 43; my $ru_test = "\x{442}\x{435}\x{441}\x{442}"; -my $ru_autoreply = "\x{410}\x{432}\x{442}\x{43e}\x{43e}\x{442}\x{432}\x{435}\x{442}"; my $ru_support = "\x{43f}\x{43e}\x{434}\x{434}\x{435}\x{440}\x{436}\x{43a}\x{430}"; +# latin-1 is very special in perl, we should test everything with latin-1 umlauts +# and not-ascii+not-latin1, for example cyrillic +my $l1_test = Encode::decode('latin-1', "t\xE9st"); +my $l1_support = Encode::decode('latin-1', "supp\xF6rt"); + + my $q = RT::Test->load_or_create_queue( Name => 'Regression' ); ok $q && $q->id, 'loaded or created queue'; @@ -25,59 +25,64 @@ my ($baseurl, $m) = RT::Test->started_ok; ok $m->login, 'logged in'; # create a ticket with a subject only -{ +foreach my $test_str ( $ru_test, $l1_test ) { ok $m->goto_create_ticket( $q ), "go to create ticket"; - $m->form_number(3); - $m->field( Subject => $ru_test ); + $m->form_name('TicketCreate'); + $m->field( Subject => $test_str ); $m->submit; $m->content_like( - qr{]*>\s*\Q$ru_test\E\s*}i, + qr{]*>\s*\Q$test_str\E\s*}i, 'header on the page' ); my $ticket = RT::Test->last_ticket; - is $ticket->Subject, $ru_test, "correct subject"; + is $ticket->Subject, $test_str, "correct subject"; } # create a ticket with a subject and content -{ - ok $m->goto_create_ticket( $q ), "go to create ticket"; - $m->form_number(3); - $m->field( Subject => $ru_test ); - $m->field( Content => $ru_support ); - $m->submit; - - $m->content_like( - qr{]*>\s*\Q$ru_test\E\s*}i, - 'header on the page' - ); - $m->content_like( - qr{\Q$ru_support\E}i, - 'content on the page' - ); - - my $ticket = RT::Test->last_ticket; - is $ticket->Subject, $ru_test, "correct subject"; +foreach my $test_str ( $ru_test, $l1_test ) { + foreach my $support_str ( $ru_support, $l1_support ) { + ok $m->goto_create_ticket( $q ), "go to create ticket"; + $m->form_name('TicketCreate'); + $m->field( Subject => $test_str ); + $m->field( Content => $support_str ); + $m->submit; + + $m->content_like( + qr{]*>\s*\Q$test_str\E\s*}i, + 'header on the page' + ); + $m->content_contains( + $support_str, + 'content on the page' + ); + + my $ticket = RT::Test->last_ticket; + is $ticket->Subject, $test_str, "correct subject"; + } } # create a ticket with a subject and content -{ - ok $m->goto_create_ticket( $q ), "go to create ticket"; - $m->form_number(3); - $m->field( Subject => $ru_test ); - $m->field( Content => $ru_support ); - $m->submit; - - $m->content_like( - qr{]*>\s*\Q$ru_test\E\s*}i, - 'header on the page' - ); - $m->content_like( - qr{\Q$ru_support\E}i, - 'content on the page' - ); - - my $ticket = RT::Test->last_ticket; - is $ticket->Subject, $ru_test, "correct subject"; +foreach my $test_str ( $ru_test, $l1_test ) { + foreach my $support_str ( $ru_support, $l1_support ) { + ok $m->goto_create_ticket( $q ), "go to create ticket"; + $m->form_name('TicketCreate'); + $m->field( Subject => $test_str ); + $m->field( Content => $support_str ); + $m->submit; + + $m->content_like( + qr{]*>\s*\Q$test_str\E\s*}i, + 'header on the page' + ); + $m->content_contains( + $support_str, + 'content on the page' + ); + + my $ticket = RT::Test->last_ticket; + is $ticket->Subject, $test_str, "correct subject"; + } } +