5 use RT::Test nodata => 1, tests => 9;
7 use RT::Interface::Email;
9 # normal use case, regexp set to rtname
10 RT->Config->Set( rtname => "site" );
11 RT->Config->Set( EmailSubjectTagRegex => qr/site/ );
12 RT->Config->Set( rtname => undef );
13 is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123);
14 is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef);
16 # oops usecase, where the regexp is scragged
17 RT->Config->Set( rtname => "site" );
18 RT->Config->Set( EmailSubjectTagRegex => undef );
19 is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123);
20 is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef);
22 # set to a simple regexp. NOTE: we no longer match "site"
23 RT->Config->Set( rtname => "site");
24 RT->Config->Set( EmailSubjectTagRegex => qr/newsite/);
25 is(RT::Interface::Email::ParseTicketId("[site #123] test"), undef);
26 is(RT::Interface::Email::ParseTicketId("[newsite #123] test"), 123);
28 # set to a more complex regexp
29 RT->Config->Set( rtname => "site" );
30 RT->Config->Set( EmailSubjectTagRegex => qr/newsite|site/ );
31 is(RT::Interface::Email::ParseTicketId("[site #123] test"), 123);
32 is(RT::Interface::Email::ParseTicketId("[newsite #123] test"), 123);
33 is(RT::Interface::Email::ParseTicketId("[othersite #123] test"), undef);