blob: b6099bf1b3a9a1e8bb55aeb2799cbea6d12b4daa [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2009 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.jsf.validation.el.tests.jsp;
import java.util.List;
import org.eclipse.jdt.core.Signature;
import org.eclipse.jst.jsf.common.internal.types.IAssignable;
import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
import org.eclipse.jst.jsf.core.JSFVersion;
import org.eclipse.jst.jsf.core.tests.validation.MockValidationReporter.ReportedProblem;
import org.eclipse.jst.jsf.validation.el.tests.base.ELAssert;
import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
/**
* Test cases for bean property resolution
*
* @author cbateman
*/
public class BeanPropertyResolutionTestCase extends SingleJSPTestCase
{
public BeanPropertyResolutionTestCase() {
super("/testdata/jsps/beanPropertyResolution.jsp.data", "/beanPropertyResolution.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
}
/**
* Allow sub-classing for sensitivity analysis (i.e. different dest file extensions)
*
* @param srcFile
* @param destFile
*/
protected BeanPropertyResolutionTestCase(final String srcFile, final String destFile)
{
super(srcFile,destFile, JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
}
@Override
protected void setUp() throws Exception
{
super.setUp();
}
@Override
public void testSanity()
{
assertEquals("myBean.stringProperty", ELAssert.getELText(_structuredDocument,523));
assertEquals("myBean.integerProperty", ELAssert.getELText(_structuredDocument,577));
assertEquals("myBean.booleanProperty", ELAssert.getELText(_structuredDocument,632));
assertEquals("myBean.doubleProperty", ELAssert.getELText(_structuredDocument,687));
assertEquals("myBean.mapProperty", ELAssert.getELText(_structuredDocument,741));
assertEquals("myBean.stringArrayProperty", ELAssert.getELText(_structuredDocument,792));
assertEquals("myBean.collectionProperty", ELAssert.getELText(_structuredDocument,851));
assertEquals("myBean.listProperty", ELAssert.getELText(_structuredDocument,909));
assertEquals("myBean.comparableProperty", ELAssert.getELText(_structuredDocument,961));
assertEquals("myBean.bigIntegerProperty", ELAssert.getELText(_structuredDocument,1019));
assertEquals("myBean.bigDoubleProperty", ELAssert.getELText(_structuredDocument,1077));
assertEquals("myBean.writableStringProperty", ELAssert.getELText(_structuredDocument,1134));
assertEquals("myBean.isStyleBooleanProperty", ELAssert.getELText(_structuredDocument,1196));
assertEquals("myBean.colors", ELAssert.getELText(_structuredDocument,1258));
assertEquals("myBean.coins", ELAssert.getELText(_structuredDocument,1304));
assertEquals("myBeanSubClass.stringProperty", ELAssert.getELText(_structuredDocument,1382));
assertEquals("myBeanSubClass.integerProperty", ELAssert.getELText(_structuredDocument,1444));
assertEquals("myBeanSubClass.booleanProperty", ELAssert.getELText(_structuredDocument,1507));
assertEquals("myBeanSubClass.doubleProperty", ELAssert.getELText(_structuredDocument,1570));
assertEquals("myBeanSubClass.mapProperty", ELAssert.getELText(_structuredDocument,1632));
assertEquals("myBeanSubClass.stringArrayProperty", ELAssert.getELText(_structuredDocument,1691));
assertEquals("myBeanSubClass.collectionProperty", ELAssert.getELText(_structuredDocument,1758));
assertEquals("myBeanSubClass.listProperty", ELAssert.getELText(_structuredDocument,1824));
assertEquals("myBeanSubClass.comparableProperty", ELAssert.getELText(_structuredDocument,1884));
assertEquals("myBeanSubClass.bigIntegerProperty", ELAssert.getELText(_structuredDocument,1950));
assertEquals("myBeanSubClass.bigDoubleProperty", ELAssert.getELText(_structuredDocument,2016));
assertEquals("myBeanSubClass.writableStringProperty", ELAssert.getELText(_structuredDocument,2081));
assertEquals("myBeanSubClass.isStyleBooleanProperty", ELAssert.getELText(_structuredDocument,2151));
assertEquals("myBeanSubClass.subClassStringProperty", ELAssert.getELText(_structuredDocument,2221));
assertEquals("myBeanSubClass.colors", ELAssert.getELText(_structuredDocument,2291));
assertEquals("myBeanSubClass.coins", ELAssert.getELText(_structuredDocument,2345));
assertEquals("myBeanSubClass.stringProperty", ELAssert.getELText(_structuredDocument,2425));
assertEquals("myBeanSettable.integerProperty", ELAssert.getELText(_structuredDocument,2487));
assertEquals("myBeanSettable.booleanProperty", ELAssert.getELText(_structuredDocument,2550));
assertEquals("myBeanSettable.doubleProperty", ELAssert.getELText(_structuredDocument,2613));
assertEquals("myBeanSettable.mapProperty", ELAssert.getELText(_structuredDocument,2675));
assertEquals("myBeanSettable.stringArrayProperty", ELAssert.getELText(_structuredDocument,2734));
assertEquals("myBeanSettable.collectionProperty", ELAssert.getELText(_structuredDocument,2801));
assertEquals("myBeanSettable.listProperty", ELAssert.getELText(_structuredDocument,2867));
assertEquals("myBeanSettable.comparableProperty", ELAssert.getELText(_structuredDocument,2927));
assertEquals("myBeanSettable.bigIntegerProperty", ELAssert.getELText(_structuredDocument,2993));
assertEquals("myBeanSettable.bigDoubleProperty", ELAssert.getELText(_structuredDocument,3059));
assertEquals("myBeanSettable.writableStringProperty", ELAssert.getELText(_structuredDocument,3124));
assertEquals("myBeanSettable.isStyleBooleanProperty", ELAssert.getELText(_structuredDocument,3194));
assertEquals("myBeanSettable.colors", ELAssert.getELText(_structuredDocument,3264));
assertEquals("myBeanSettable.coins", ELAssert.getELText(_structuredDocument,3318));
assertEquals("myBean.subClassStringProperty", ELAssert.getELText(_structuredDocument,3398));
assertEquals("myBeanSubClass.notAMember", ELAssert.getELText(_structuredDocument,3460));
assertEquals("myBeanSettable.alsoNotAMember", ELAssert.getELText(_structuredDocument,3518));
}
@Override
public void testNoErrorExprs()
{
assertNoError(523, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(577, Signature.SIG_INT, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(632, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(687, Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(741, TypeConstants.TYPE_MAP, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(792, Signature.createArraySignature(TypeConstants.TYPE_STRING, 1), IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(851, TypeConstants.TYPE_COLLECTION, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(909, "Ljava.util.List;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(961, TypeConstants.TYPE_COMPARABLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1019, TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1077, TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1134, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(1196, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1258, "Lbeans.MyEnum2;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1304, "Lbeans.MyEnum1;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1382, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1444, Signature.SIG_INT, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1507, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1570, Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1632, TypeConstants.TYPE_MAP, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1691, Signature.createArraySignature(TypeConstants.TYPE_STRING, 1), IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1758, TypeConstants.TYPE_COLLECTION, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1824, "Ljava.util.List;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1884, TypeConstants.TYPE_COMPARABLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(1950, TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2016, TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2081, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2151, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2221, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2291, "Lbeans.MyEnum2;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2345, "Lbeans.MyEnum1;", IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2425, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS);
assertNoError(2487, Signature.SIG_INT, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2550, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2613, Signature.SIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2675, TypeConstants.TYPE_MAP, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2734, Signature.createArraySignature(TypeConstants.TYPE_STRING, 1), IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2801, TypeConstants.TYPE_COLLECTION, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2867, "Ljava.util.List;", IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2927, TypeConstants.TYPE_COMPARABLE, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(2993, TypeConstants.TYPE_BIG_INTEGER, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(3059, TypeConstants.TYPE_BIG_DOUBLE, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(3124, TypeConstants.TYPE_STRING, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(3194, Signature.SIG_BOOLEAN, IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(3264, "Lbeans.MyEnum2;", IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
assertNoError(3318, "Lbeans.MyEnum1;", IAssignable.ASSIGNMENT_TYPE_RHS|IAssignable.ASSIGNMENT_TYPE_LHS);
}
@Override
public void testWarningExprs()
{
List<ReportedProblem> list = assertSemanticWarning(3398,null,1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID);
list = assertSemanticWarning(3460,null,1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID);
list = assertSemanticWarning(3518,null,1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID);
}
@Override
public void testErrorExprs()
{
// no error cases
}
}