TOCHandle tocHandle = dataHandle.getTOC( );  assertEquals( "2005 Statistics" , tocHandle.getExpression( ) );
	public void testParseProperties( ) throws Exception	{		LabelHandle labelHandle = (LabelHandle) designHandle				.findElement( "bodyLabel" ); //$NON-NLS-1$		assertEquals( "birt.js.labelHandler", labelHandle //$NON-NLS-1$				.getEventHandlerClass( ) );		// check zIndex properties.				assertEquals( 2, labelHandle.getZIndex( ) );				// checks on-prepare, on-create and on-render values		assertEquals( "hello, show me on create.", labelHandle.getOnCreate( ) ); //$NON-NLS-1$		assertEquals( "hello, show me on render.", labelHandle.getOnRender( ) ); //$NON-NLS-1$		assertEquals( "hello, show me on prepare.", labelHandle.getOnPrepare( ) ); //$NON-NLS-1$		assertEquals(				"hello, show me on page break.", labelHandle.getOnPageBreak( ) ); //$NON-NLS-1$		Iterator rules = labelHandle.visibilityRulesIterator( );		// checks with the first visibility rule.		StructureHandle structHandle = (StructureHandle) rules.next( );		assertNotNull( structHandle );		MemberHandle memberHandle = structHandle				.getMember( HideRule.FORMAT_MEMBER );		assertEquals( DesignChoiceConstants.FORMAT_TYPE_PDF, memberHandle				.getStringValue( ) );		memberHandle = structHandle.getMember( HideRule.VALUE_EXPR_MEMBER );		assertEquals( "word, 10 people", memberHandle.getStringValue( ) ); //$NON-NLS-1$		// the second visibility rule		structHandle = (StructureHandle) rules.next( );		assertNotNull( structHandle );		memberHandle = structHandle.getMember( HideRule.FORMAT_MEMBER );		assertEquals( DesignChoiceConstants.FORMAT_TYPE_ALL, memberHandle				.getStringValue( ) );		memberHandle = structHandle.getMember( HideRule.VALUE_EXPR_MEMBER );		assertEquals( "excel, 10 people", memberHandle.getStringValue( ) ); //$NON-NLS-1$		// no third, must be null.		structHandle = (StructureHandle) rules.next( );		assertNull( structHandle );		// parameter binding on this label, no bindings in the list.		Iterator bindings = labelHandle.paramBindingsIterator( );		structHandle = (StructureHandle) bindings.next( );		assertNull( structHandle );		// tests visibility on the data item.		DataItemHandle dataHandle = (DataItemHandle) designHandle				.findElement( "bodyData" ); //$NON-NLS-1$				assertEquals( "birt.js.dataHandler", dataHandle //$NON-NLS-1$				.getEventHandlerClass( ) );		// checks on-prepare, on-create and on-render values		assertEquals( "hello, show data on prepare.", dataHandle.getOnPrepare( ) ); //$NON-NLS-1$			assertEquals( "hello, show data on render.", dataHandle.getOnRender( ) ); //$NON-NLS-1$		assertEquals( null, dataHandle.getOnCreate( ) ); 		rules = dataHandle.visibilityRulesIterator( );		structHandle = (StructureHandle) rules.next( );		// if no format attribute, use the default value.		memberHandle = structHandle.getMember( HideRule.FORMAT_MEMBER );		assertEquals( DesignChoiceConstants.FORMAT_TYPE_ALL, memberHandle				.getStringValue( ) );		// if no expression, should be empty string		memberHandle = structHandle.getMember( HideRule.VALUE_EXPR_MEMBER );		assertNull( memberHandle.getStringValue( ) );		// the second visibility rule for the data item		structHandle = (StructureHandle) rules.next( );		assertNotNull( structHandle );		memberHandle = structHandle.getMember( HideRule.FORMAT_MEMBER );		assertEquals( DesignChoiceConstants.FORMAT_TYPE_PDF, memberHandle				.getStringValue( ) );		// if no expression, should be empty string		memberHandle = structHandle.getMember( HideRule.VALUE_EXPR_MEMBER );		assertNull( memberHandle.getStringValue( ) );		// reads bindings for data.		bindings = dataHandle.paramBindingsIterator( );		structHandle = (StructureHandle) bindings.next( );		assertNotNull( structHandle );		memberHandle = structHandle.getMember( ParamBinding.PARAM_NAME_MEMBER );		assertEquals( "param1", memberHandle.getValue( ) ); //$NON-NLS-1$		memberHandle = structHandle.getMember( ParamBinding.EXPRESSION_MEMBER );		assertEquals( "value1", memberHandle.getValue( ) ); //$NON-NLS-1$		structHandle = (StructureHandle) bindings.next( );		assertNotNull( structHandle );		memberHandle = structHandle.getMember( ParamBinding.PARAM_NAME_MEMBER );		assertEquals( "param2", memberHandle.getValue( ) ); //$NON-NLS-1$		memberHandle = structHandle.getMember( ParamBinding.EXPRESSION_MEMBER );		assertEquals( "value2", memberHandle.getValue( ) ); //$NON-NLS-1$		structHandle = (StructureHandle) bindings.next( );		assertNull( structHandle );		// tests toc on the free form item.		assertEquals( "2005 Statistics", dataHandle.getTocExpression( ) ); //$NON-NLS-1$			FreeFormHandle form = (FreeFormHandle) designHandle				.findElement( "free form" ); //$NON-NLS-1$			assertEquals( "\"This Section\"", form.getTocExpression( ) ); //$NON-NLS-1$		}