[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