[ http://webtest-community.canoo.com/jira/browse/WT-356?page=all ]
     
Marc Guillemot closed WT-356:
-----------------------------

    Fix Version: future versions
     Resolution: Fixed
      Assign To: Marc Guillemot

Fixed in build 1642.

I've decided to handle null like empty string as it is not clear when Message 
instance returns null.

> AbstractSelectStep.doMatch(String,String) failed when the second parameter is 
> null
> ----------------------------------------------------------------------------------
>
>          Key: WT-356
>          URL: http://webtest-community.canoo.com/jira/browse/WT-356
>      Project: WebTest
>         Type: Bug

>     Versions: 2.5
>  Environment: tested on Java JDK 1.6.0_02 / Debian 4.2.2-3 on Linux Kernel 
> 2.6.23 with Groovy 1.0.0 
> should behave the same way on other platforms
>     Reporter: Florent Blondeau
>     Assignee: Marc Guillemot
>      Fix For: future versions

>
> If getSubject() returns null on a Message (I encountered that on an IMAP box),
> doMatch(getSubject(), message.getSubject()) called in 
> AbstractSelectStep.messageMatches fails with a NullPointerException with 
> stack trace like :
> java.lang.NullPointerException
>       at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
>       at java.util.regex.Matcher.reset(Matcher.java:291)
>       at java.util.regex.Matcher.<init>(Matcher.java:211)
>       at java.util.regex.Pattern.matcher(Pattern.java:888)
>       at 
> com.canoo.webtest.engine.RegExStringVerifier.verifyStrings(RegExStringVerifier.java:28)
>       at 
> com.canoo.webtest.plugins.emailtest.AbstractSelectStep.doMatch(AbstractSelectStep.java:149)
>       at 
> com.canoo.webtest.plugins.emailtest.AbstractSelectStep.messageMatches(AbstractSelectStep.java:128)
> The code tests if the expected String is null, but not if the actual String 
> is null. Code could be fix like below :
>     static boolean doMatch(final String expected, final String actual) {
>         // semantics are: if no expectation then match
>         if (StringUtils.isEmpty(expected)) {
>             return true;
>         }
> /* new part */
>         //semantics are: if no actual string then no match
>         if (StringUtils.isEmpty(actual)){
>               return false;
>         }
> /* end of new part */
>         if (isRegexMatch(expected)) {
>             return getVerifier(true).verifyStrings(expected.substring(1, 
> expected.length() - 1), actual);
>         }
>         return getVerifier(false).verifyStrings(expected, actual);
>     }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://webtest-community.canoo.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to