Mailing List Archive

rt branch, 4.4-trunk, updated. rt-4.4.4-541-gb66555ac8b
The branch, 4.4-trunk has been updated
via b66555ac8bc705f81895af012628fb32aecc65d4 (commit)
via 205b517966f220dad1073f6e4309ec0fe01ce95b (commit)
from 34fb69cbc5c8732e092b412703a564b484708917 (commit)

Summary of changes:
lib/RT/SearchBuilder.pm | 27 +++++++++++++++++++++++++++
t/mail/extractsubjecttag.t | 24 +++++++++++++++++++++++-
2 files changed, 50 insertions(+), 1 deletion(-)

- Log -----------------------------------------------------------------
commit 205b517966f220dad1073f6e4309ec0fe01ce95b
Author: craig kaiser <craig@bestpractical.com>
Date: Wed Jun 16 08:45:37 2021 -0400

Add test for subject tag with unicode characters

diff --git a/t/mail/extractsubjecttag.t b/t/mail/extractsubjecttag.t
index 1aadaa7b7d..36f29ab1e4 100644
--- a/t/mail/extractsubjecttag.t
+++ b/t/mail/extractsubjecttag.t
@@ -1,7 +1,8 @@
use strict;
use warnings;
+use utf8;

-use RT::Test tests => 18;
+use RT::Test tests => undef;

my $queue = RT::Test->load_or_create_queue(
Name => 'Regression',
@@ -103,3 +104,24 @@ EOF
unlike($freshticket->Subject,qr/\[\Q$subject_tag\E #$ticketid\]/,'Stripped Queue Subject Tag correctly');
}

+
+$queue = RT::Test->load_or_create_queue(
+ Name => 'Unicode Character Subject Tag Queue',
+ CorrespondAddress => 'rt-recipient@example.com',
+ CommentAddress => 'rt-recipient@example.com',
+);
+$subject_tag = 'Demande générale';
+ok $queue && $queue->id, 'loaded or created queue';
+
+diag "Test System Subject Tag Matches Queue Object Subject Tag";
+{
+ is(RT->System->SubjectTag($queue), undef, 'No Subject Tag yet');
+ my ($status, $msg) = $queue->SetSubjectTag( $subject_tag );
+ ok $status, "set subject tag for the queue" or diag "error: $msg";
+
+ my @subject_tags = sort RT->System->SubjectTag();
+
+ is($subject_tags[0], $subject_tag, "Set Subject Tag to $subject_tag");
+}
+
+done_testing();

commit b66555ac8bc705f81895af012628fb32aecc65d4
Author: craig kaiser <craig@bestpractical.com>
Date: Wed Jun 16 08:45:46 2021 -0400

Ensure values returned from DistinctFieldValues are utf8

diff --git a/lib/RT/SearchBuilder.pm b/lib/RT/SearchBuilder.pm
index a1b0700c92..8d9e2aa258 100644
--- a/lib/RT/SearchBuilder.pm
+++ b/lib/RT/SearchBuilder.pm
@@ -1112,6 +1112,33 @@ sub NotSetDateToNullFunction {
return $res;
}

+sub DistinctFieldValues {
+ my $self = shift;
+ my %args = (
+ Field => undef,
+ Order => undef,
+ Max => undef,
+ decode_utf8 => 1,
+ @_%2 ? (Field => @_) : (@_)
+ );
+
+ my @values = $self->SUPER::DistinctFieldValues( %args );
+
+ foreach my $value ( @values ) {
+ if ( $args{'decode_utf8'} ) {
+ if ( !utf8::is_utf8( $value ) ) { # mysql/sqlite
+ utf8::decode( $value );
+ }
+ }
+ else {
+ if ( utf8::is_utf8( $value ) ) {
+ utf8::encode( $value );
+ }
+ }
+ }
+ return @values;
+}
+
RT::Base->_ImportOverlays();

1;

-----------------------------------------------------------------------
_______________________________________________
rt-commit mailing list
rt-commit@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-commit