[Rt-commit] rt 01/02: Add test for lifecycle statuses with accents

craig kaiser craig at bestpractical.com
Fri Jul 16 15:39:39 UTC 2021


This is an automated email from the git hooks/post-receive script.

craig pushed a commit to branch 5.0/lifecycle-status-accents
in repository rt.

commit f9fa6def65e81f8214fb5024635be74543c3683e
Author: craig kaiser <craig at bestpractical.com>
AuthorDate: Fri Jul 16 11:29:34 2021 -0400

    Add test for lifecycle statuses with accents
---
 lib/RT/Lifecycle.pm   |  2 ++
 t/lifecycles/basics.t | 16 ++++++++++++++++
 t/lifecycles/utils.pl |  5 +++++
 3 files changed, 23 insertions(+)

diff --git a/lib/RT/Lifecycle.pm b/lib/RT/Lifecycle.pm
index 6e6620d78c..69fac0ba67 100644
--- a/lib/RT/Lifecycle.pm
+++ b/lib/RT/Lifecycle.pm
@@ -58,6 +58,8 @@ our %LIFECYCLES;
 our %LIFECYCLES_CACHE;
 our %LIFECYCLES_TYPES;
 
+use locale qw/:characters/;
+
 # cache structure:
 #    {
 #        lifecycle_x => {
diff --git a/t/lifecycles/basics.t b/t/lifecycles/basics.t
index 00ba375db7..e6049652ad 100644
--- a/t/lifecycles/basics.t
+++ b/t/lifecycles/basics.t
@@ -307,4 +307,20 @@ diag "Role rights are checked for lifecycles at asset level";
     is $lifecycle->Name, 'assets', 'Test LifecycleObj method';
 }
 
+diag "Test that our French lifecycle is decoded correctly";
+{
+    # Without this we see lc('INGÉNIERIE') being converted to 'ingÉnierie' which is incorrect.
+    # We should expect the output to be 'ingénierie'.
+    use locale qw/:characters/;
+
+    my $lifecycles = RT->Config->Get('Lifecycles');
+    my $french = $lifecycles->{'français'};
+
+    foreach my $type ( qw/initial active inactive/ ) {
+        foreach my $status ( @{$lifecycles->{'français'}->{$type}} ) {
+            is $RT::Lifecycle::LIFECYCLES_CACHE{'français'}->{'canonical_case'}->{lc($status)}, $status, "Successfully converted accented status to lowercase.";
+        }
+    }
+}
+
 done_testing;
diff --git a/t/lifecycles/utils.pl b/t/lifecycles/utils.pl
index f832828a51..f324b673c5 100644
--- a/t/lifecycles/utils.pl
+++ b/t/lifecycles/utils.pl
@@ -84,6 +84,11 @@ Set(\%Lifecycles,
             "deleted"
         ],
     },
+    "français" => {
+      "initial" => ["NOUVELLE"],
+      "active"  => ["INGÉNIERIE"],
+      "inactive" => ["RÉSOLUE"],
+    }
 );
 END
 }

-- 
To stop receiving notification emails like this one, please contact
sysadmin at bestpractical.com.


More information about the rt-commit mailing list