[otrs-cvs] otrs/scripts/test/Ticket ArticleStorage.t,1.3,1.4

"CVS commits notifications of OTRS.org" <[email protected]>
Newsgroups gmane.comp.otrs.cvs
Message-ID <[email protected]>
Comments:
Update of /home/cvs/otrs/scripts/test/Ticket
In directory lancelot:/tmp/cvs-serv6348/scripts/test/Ticket

Modified Files:
	ArticleStorage.t 
Log Message:
Improved ArticleStorage tests with some tougher unicode handling tests.

Author: mg

Index: ArticleStorage.t
===================================================================
RCS file: /home/cvs/otrs/scripts/test/Ticket/ArticleStorage.t,v
retrieving revision 1.3
retrieving revision 1.4
diff -2 -u -d -r1.3 -r1.4
--- ArticleStorage.t	20 Nov 2012 16:12:52 -0000	1.3
+++ ArticleStorage.t	5 Feb 2013 13:24:55 -0000	1.4
@@ -1,5 +1,5 @@
 # --
 # ArticleStorage.t - ticket module testscript
-# Copyright (C) 2001-2012 OTRS AG, http://otrs.org/
+# Copyright (C) 2001-2013 OTRS AG, http://otrs.org/
 # --
 # $Id$
@@ -17,4 +17,5 @@
 
 use Time::HiRes qw( usleep );
+use Unicode::Normalize;
 
 use Kernel::Config;
@@ -74,5 +75,5 @@
         Value => 'Kernel::System::Ticket::ArticleStorage' . $Backend,
     );
-    my $TicketObject = Kernel::System::Ticket->new(
+    $TicketObject = Kernel::System::Ticket->new(
         %{$Self},
         ConfigObject => $ConfigObject,
@@ -89,53 +90,91 @@
             Mode     => 'binmode',
         );
-        my $Content                = ${$ContentRef};
-        my $FileNew                = "ÄÖÜ ? カスタマ-" . $File;
-        my $MD5Orig                = $Self->{MainObject}->MD5sum( String => $Content );
-        my $ArticleWriteAttachment = $TicketObject->ArticleWriteAttachment(
-            Content     => $Content,
-            Filename    => $FileNew,
-            ContentType => 'image/png',
-            ArticleID   => $ArticleID,
-            UserID      => 1,
-        );
-        $Self->True(
-            $ArticleWriteAttachment,
-            "$Backend ArticleWriteAttachment() - $FileNew",
-        );
-        my %Data = $TicketObject->ArticleAttachment(
-            ArticleID => $ArticleID,
-            FileID    => 1,
-            UserID    => 1,
-        );
-        $Self->True(
-            $Data{Content},
-            "$Backend ArticleAttachment() Content - $FileNew",
-        );
-        $Self->True(
-            $Data{ContentType},
-            "$Backend ArticleAttachment() ContentType - $FileNew",
-        );
-        $Self->True(
-            $Data{Content} eq $Content,
-            "$Backend ArticleWriteAttachment() / ArticleAttachment() - $FileNew",
-        );
-        $Self->True(
-            $Data{ContentType} eq 'image/png',
-            "$Backend ArticleWriteAttachment() / ArticleAttachment() - $File",
-        );
-        my $MD5New = $Self->{MainObject}->MD5sum( String => $Data{Content} );
-        $Self->Is(
-            $MD5Orig || '1',
-            $MD5New  || '2',
-            "$Backend MD5 - $FileNew",
-        );
-        my $Delete = $TicketObject->ArticleDeleteAttachment(
-            ArticleID => $ArticleID,
-            UserID    => 1,
-        );
-        $Self->True(
-            $Delete,
-            "$Backend ArticleDeleteAttachment() - $FileNew",
-        );
+
+        for my $FileName (
+            'SimpleFile',
+            'ÄÖÜカスタマ-',          # Unicode NFC
+            'Второй_файл',    # Unicode NFD
+            )
+        {
+            my $Content                = ${$ContentRef};
+            my $FileNew                = $FileName . $File;
+            my $MD5Orig                = $Self->{MainObject}->MD5sum( String => $Content );
+            my $ArticleWriteAttachment = $TicketObject->ArticleWriteAttachment(
+                Content     => $Content,
+                Filename    => $FileNew,
+                ContentType => 'image/png',
+                ArticleID   => $ArticleID,
+                UserID      => 1,
+            );
+            $Self->True(
+                $ArticleWriteAttachment,
+                "$Backend ArticleWriteAttachment() - $FileNew",
+            );
+
+            my %AttachmentIndex = $TicketObject->ArticleAttachmentIndex(
+                ArticleID => $ArticleID,
+                UserID    => 1,
+            );
+
+            my $TargetFilename = $FileName . $File;
+
+            # Mac OS (HFS+) will store all filenames as NFD internally.
+            if ( $^O eq 'darwin' && $Backend eq 'FS' ) {
+                $TargetFilename = Unicode::Normalize::NFD($TargetFilename);
+            }
+
+            $Self->Is(
+                $AttachmentIndex{1}->{Filename},
+                $TargetFilename,
+                "$Backend ArticleAttachmentIndex() Filename - $FileNew"
+            );
+
+            my %Data = $TicketObject->ArticleAttachment(
+                ArticleID => $ArticleID,
+                FileID    => 1,
+                UserID    => 1,
+            );
+            $Self->True(
+                $Data{Content},
+                "$Backend ArticleAttachment() Content - $FileNew",
+            );
+            $Self->True(
+                $Data{ContentType},
+                "$Backend ArticleAttachment() ContentType - $FileNew",
+            );
+            $Self->True(
+                $Data{Content} eq $Content,
+                "$Backend ArticleWriteAttachment() / ArticleAttachment() - $FileNew",
+            );
+            $Self->True(
+                $Data{ContentType} eq 'image/png',
+                "$Backend ArticleWriteAttachment() / ArticleAttachment() - $File",
+            );
+            my $MD5New = $Self->{MainObject}->MD5sum( String => $Data{Content} );
+            $Self->Is(
+                $MD5Orig || '1',
+                $MD5New  || '2',
+                "$Backend MD5 - $FileNew",
+            );
+            my $Delete = $TicketObject->ArticleDeleteAttachment(
+                ArticleID => $ArticleID,
+                UserID    => 1,
+            );
+            $Self->True(
+                $Delete,
+                "$Backend ArticleDeleteAttachment() - $FileNew",
+            );
+
+            %AttachmentIndex = $TicketObject->ArticleAttachmentIndex(
+                ArticleID => $ArticleID,
+                UserID    => 1,
+            );
+
+            $Self->IsDeeply(
+                \%AttachmentIndex,
+                {},
+                "$Backend ArticleAttachmentIndex() after delete - $FileNew"
+            );
+        }
     }
 }

---------------------------------------------------------------------
OTRS mailing list: cvs-log - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/cvs-log
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/cvs-log
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.