diff options
Diffstat (limited to 'rt/t/api/rtname.t')
-rw-r--r-- | rt/t/api/rtname.t | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/rt/t/api/rtname.t b/rt/t/api/rtname.t new file mode 100644 index 000000000..ef6092bb2 --- /dev/null +++ b/rt/t/api/rtname.t @@ -0,0 +1,34 @@ +#!/usr/bin/perl +use strict; +use warnings; + +use RT::Test nodata => 1, tests => 9; + +use RT::Interface::Email; + +# normal use case, regexp set to rtname +RT->Config->Set( rtname => "site" ); +RT->Config->Set( EmailSubjectTagRegex => qr/site/ ); +RT->Config->Set( rtname => undef ); +is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123); +is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef); + +# oops usecase, where the regexp is scragged +RT->Config->Set( rtname => "site" ); +RT->Config->Set( EmailSubjectTagRegex => undef ); +is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123); +is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef); + +# set to a simple regexp. NOTE: we no longer match "site" +RT->Config->Set( rtname => "site"); +RT->Config->Set( EmailSubjectTagRegex => qr/newsite/); +is(RT::Interface::Email::ParseTicketId("[site #123] test"), undef); +is(RT::Interface::Email::ParseTicketId("[newsite #123] test"), 123); + +# set to a more complex regexp +RT->Config->Set( rtname => "site" ); +RT->Config->Set( EmailSubjectTagRegex => qr/newsite|site/ ); +is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123); +is(RT::Interface::Email::ParseTicketId("[newsite #123] test"), 123); +is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef); + |