
ruz at bestpractical
Jul 9, 2012, 10:56 AM
Post #1 of 1
(89 views)
Permalink
|
|
rt branch, 4.0-trunk, updated. rt-4.0.6-244-g3f343c2
|
|
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> 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> 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; ----------------------------------------------------------------------- _______________________________________________ Rt-commit mailing list Rt-commit [at] lists http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-commit
|