[Rt-commit] rt branch, 4.0-trunk, updated. rt-4.0.6-244-g3f343c2
Ruslan Zakirov
ruz at bestpractical.com
Mon Jul 9 13:56:58 EDT 2012
The branch, 4.0-trunk has been updated
via 3f343c29a92f00a65853f4f770066489da2b1695 (commit)
via 2993261ecaac2d20436ac97aae277a71be82625b (commit)
from f81828b35b51e6841f15a272d2e274e8dc4af7d3 (commit)
Summary of changes:
lib/RT/Config.pm | 2 +-
t/api/config.t | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
- Log -----------------------------------------------------------------
commit 2993261ecaac2d20436ac97aae277a71be82625b
Author: Jim Brandt <jbrandt at bestpractical.com>
Date: Mon Jul 9 09:28:39 2012 -0400
Test showing iso-8859-1 encoding is dropped from EmailInputEncodings
The EmailInputEncodings PostLoadCheck in RT/Config.pm removes
iso-8859-1 from the original config list even though it is
a valid encoding.
diff --git a/t/api/config.t b/t/api/config.t
index a986c3c..62b77df 100644
--- a/t/api/config.t
+++ b/t/api/config.t
@@ -1,7 +1,8 @@
use strict;
use warnings;
use RT;
-use RT::Test nodb => 1, tests => 9;
+use RT::Test nodb => 1, tests => 11;
+use Test::Warn;
ok(
RT::Config->AddOption(
@@ -31,3 +32,12 @@ is( $meta->{Widget}, '/Widgets/Form/Boolean', 'widget is updated to boolean' );
ok( RT::Config->DeleteOption( Name => 'foo' ), 'removed option foo' );
is( RT::Config->Meta('foo'), undef, 'foo is indeed deleted' );
+# Test EmailInputEncodings PostLoadCheck code
+RT::Config->Set('EmailInputEncodings', qw(utf-8 iso-8859-1 us-ascii foo));
+my @encodings = qw(utf-8-strict iso-8859-1 ascii);
+
+warning_is {RT::Config->PostLoadCheck} "Unknown encoding 'foo' in \@EmailInputEncodings option",
+ 'Correct warning for encoding foo';
+
+my @canonical_encodings = RT::Config->Get('EmailInputEncodings');
+is_deeply(\@encodings, \@canonical_encodings, 'Got correct encoding list');
commit 3f343c29a92f00a65853f4f770066489da2b1695
Author: Jim Brandt <jbrandt at bestpractical.com>
Date: Mon Jul 9 09:31:42 2012 -0400
Retain canonical encodings in EmailInputEncodings
Encodings provided to the EmailInputEncodings PostLoadCheck already
in the canonical form would be omitted from the processed list.
The initial increment in %seen added the encoding so it
was already "seen" when checked later with the $canonic
form. These encodings then were not added back to the list.
diff --git a/lib/RT/Config.pm b/lib/RT/Config.pm
index d26624f..ba338bb 100644
--- a/lib/RT/Config.pm
+++ b/lib/RT/Config.pm
@@ -738,7 +738,7 @@ our %META = (
my %seen;
foreach my $encoding ( grep defined && length, splice @$value ) {
- next if $seen{ $encoding }++;
+ next if $seen{ $encoding };
if ( $encoding eq '*' ) {
unshift @$value, '*';
next;
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list