Program: 73095
Project: 73095
Buggy source:
/** 
 * Test access to "params" with report handle
 */
public void testParams() throws Exception {
  scope=new DataAdapterTopLevelScope(cx,design);
  Object len=evaluateScript("String_Node_Str");
  assertEquals(len.getClass(),Integer.class);
  assertEquals(((Integer)len).intValue(),13);
  Object r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertEquals(r,"String_Node_Str");
  r=evaluateScript("String_Node_Str");
  assertNull(r);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertEquals(r,"String_Node_Str");
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertTrue(r.toString().length() > 0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Date.class);
  r=evaluateScript("String_Node_Str");
  assertNull(r);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Date.class);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Double.class);
  assertEquals(((Double)r).intValue(),1234);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Double.class);
  assertEquals(((Double)r).intValue(),0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),BigDecimal.class);
  assertEquals(((BigDecimal)r).intValue(),1234);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),BigDecimal.class);
  assertEquals(((BigDecimal)r).intValue(),0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Boolean.class);
  assertTrue(((Boolean)r).booleanValue());
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Boolean.class);
  assertFalse(((Boolean)r).booleanValue());
  r=evaluateScript("String_Node_Str");
  assertNull(r);
  r=evaluateScript("String_Node_Str");
  assertNotNull(r);
}

Fixed version (ground truth):
/** 
 * Test access to "params" with report handle
 */
public void testParams() throws Exception {
  scope=new DataAdapterTopLevelScope(cx,design);
  Object len=evaluateScript("String_Node_Str");
  assertEquals(len.getClass(),Integer.class);
  assertEquals(((Integer)len).intValue(),13);
  Object r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertEquals(r,"String_Node_Str");
  r=evaluateScript("String_Node_Str");
  assertNull(r);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertEquals(r,"String_Node_Str");
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),String.class);
  assertTrue(r.toString().length() > 0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Date.class);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Double.class);
  assertEquals(((Double)r).intValue(),1234);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Double.class);
  assertEquals(((Double)r).intValue(),0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),BigDecimal.class);
  assertEquals(((BigDecimal)r).intValue(),1234);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),BigDecimal.class);
  assertEquals(((BigDecimal)r).intValue(),0);
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Boolean.class);
  assertTrue(((Boolean)r).booleanValue());
  r=evaluateScript("String_Node_Str");
  assertEquals(r.getClass(),Boolean.class);
  assertFalse(((Boolean)r).booleanValue());
  r=evaluateScript("String_Node_Str");
  assertNull(r);
  r=evaluateScript("String_Node_Str");
  assertNotNull(r);
}