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