jstrachan    2002/12/16 02:46:43

  Modified:    jelly/src/test/org/apache/commons/jelly/junit suite.jelly
               jelly/src/java/org/apache/commons/jelly/impl TagScript.java
  Log:
  Applied the new test case supplied by Todd Jonker that demonstrated the bug in 
missing line/col info on a unit test case failure. 
  This bug has now been fixed as well.
  
  Revision  Changes    Path
  1.11      +5 -1      
jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/junit/suite.jelly
  
  Index: suite.jelly
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/junit/suite.jelly,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- suite.jelly       10 Dec 2002 08:59:42 -0000      1.10
  +++ suite.jelly       16 Dec 2002 10:46:42 -0000      1.11
  @@ -92,9 +92,13 @@
         </test:assertThrows>
       </j:catch>
       
  -             <test:assert test="${ex != null}">We should have created an 
exception</test:assert>
  +             <test:assert test="${ex != null}">assertThrows should fail when 
nothing is thrown from within it</test:assert>
       <test:assert test="${ex.message.startsWith('No exception was thrown.')}"/>
   
  +    <test:assertEquals actual="${ex.elementName}" expected="test:assertThrows"/>
  +    <test:assert test="${ex.fileName != null}">fileName not set</test:assert>
  +    <test:assert test="${ex.lineNumber gt 0}">lineNumber not set</test:assert>
  +    <test:assert test="${ex.columnNumber gt 0}">columnNumber not set</test:assert>
     </test:case>
   
   <!--
  
  
  
  1.30      +30 -10    
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java
  
  Index: TagScript.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/impl/TagScript.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- TagScript.java    28 Nov 2002 08:35:48 -0000      1.29
  +++ TagScript.java    16 Dec 2002 10:46:42 -0000      1.30
  @@ -283,6 +283,9 @@
           catch (Exception e) {
               handleException(e);
           }
  +        catch (Error e) {
  +            handleException(e);
  +        }
       }
       
       
  @@ -632,14 +635,14 @@
        * while adding line number information etc.
        */
       protected void handleException(Exception e) throws Exception {
  -     if (log.isTraceEnabled()) {
  -             log.trace( "Caught exception: " + e, e );
  -     }
  +        if (log.isTraceEnabled()) {
  +            log.trace( "Caught exception: " + e, e );
  +        }
   
           if (e instanceof LocationAware) {
               applyLocation((LocationAware) e);
           }
  -        
  +
           if ( e instanceof JellyException ) {
               e.fillInStackTrace();
               throw e;
  @@ -653,6 +656,23 @@
                                         lineNumber );
           }
   
  -        throw new JellyException(e, fileName, elementName, columnNumber, 
lineNumber);            
  +        throw new JellyException(e, fileName, elementName, columnNumber, 
lineNumber);
  +    }
  +    
  +    /**
  +     * A helper method to handle this non-Jelly exception.
  +     * This method will rethrow the exception, wrapped in a JellyException
  +     * while adding line number information etc.
  +     */
  +    protected void handleException(Error e) throws Error, JellyException {
  +        if (log.isTraceEnabled()) {
  +            log.trace( "Caught exception: " + e, e );
  +        }
  +
  +        if (e instanceof LocationAware) {
  +            applyLocation((LocationAware) e);
  +        }
  +
  +        throw new JellyException(e, fileName, elementName, columnNumber, 
lineNumber);
       }
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to