blob: 457590110e853531d6ae17c52510f3de959d4d24 [file] [log] [blame]
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.TypeConstants;
import org.eclipse.jst.jsf.core.IJSFCoreConstants;
import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
/**
* Test cases for method bindings
*
* @author cbateman
*/
public class MethodBindingTestCase extends SingleJSPTestCase
{
public MethodBindingTestCase()
{
super("/testdata/jsps/methodBinding.jsp.data", "/methodBinding.jsp", IJSFCoreConstants.FACET_VERSION_1_1,FACES_CONFIG_FILE_NAME_1_1);
}
protected void setUp() throws Exception
{
super.setUp();
}
public void testSanity()
{
assertEquals("myBean.getStringProperty", getELText(_structuredDocument,849));
assertEquals("myBean.getIntegerProperty", getELText(_structuredDocument,910));
assertEquals("myBean.getBooleanProperty", getELText(_structuredDocument,972));
assertEquals("myBean.getDoubleProperty", getELText(_structuredDocument,1034));
assertEquals("myBean.getMapProperty", getELText(_structuredDocument,1095));
assertEquals("myBean.getStringArrayProperty", getELText(_structuredDocument,1153));
assertEquals("myBean.getCollectionProperty", getELText(_structuredDocument,1219));
assertEquals("myBean.getListProperty", getELText(_structuredDocument,1284));
assertEquals("myBean.getComparableProperty", getELText(_structuredDocument,1343));
assertEquals("myBean.getBigIntegerProperty", getELText(_structuredDocument,1408));
assertEquals("myBean.getBigDoubleProperty", getELText(_structuredDocument,1473));
assertEquals("myBean.recursiveCall", getELText(_structuredDocument,1537));
assertEquals("myBean.getWritableStringProperty", getELText(_structuredDocument,1594));
assertEquals("myBean.setWritableStringProperty", getELText(_structuredDocument,1663));
assertEquals("myBean.validate", getELText(_structuredDocument,1732));
assertEquals("myBean.validate2", getELText(_structuredDocument,1784));
assertEquals("myBean.getSelf", getELText(_structuredDocument,1837));
assertEquals("myBean.isIsStyleBooleanProperty", getELText(_structuredDocument,1888));
assertEquals("myBeanSubClass.getStringProperty", getELText(_structuredDocument,1958));
assertEquals("myBeanSubClass.getIntegerProperty", getELText(_structuredDocument,2027));
assertEquals("myBeanSubClass.getBooleanProperty", getELText(_structuredDocument,2097));
assertEquals("myBeanSubClass.getDoubleProperty", getELText(_structuredDocument,2167));
assertEquals("myBeanSubClass.getMapProperty", getELText(_structuredDocument,2236));
assertEquals("myBeanSubClass.getStringArrayProperty", getELText(_structuredDocument,2302));
assertEquals("myBeanSubClass.getCollectionProperty", getELText(_structuredDocument,2376));
assertEquals("myBeanSubClass.getListProperty", getELText(_structuredDocument,2449));
assertEquals("myBeanSubClass.getComparableProperty", getELText(_structuredDocument,2516));
assertEquals("myBeanSubClass.getBigIntegerProperty", getELText(_structuredDocument,2589));
assertEquals("myBeanSubClass.getBigDoubleProperty", getELText(_structuredDocument,2662));
assertEquals("myBeanSubClass.recursiveCall", getELText(_structuredDocument,2734));
assertEquals("myBeanSubClass.getWritableStringProperty", getELText(_structuredDocument,2799));
assertEquals("myBeanSubClass.setWritableStringProperty", getELText(_structuredDocument,2876));
assertEquals("myBeanSubClass.validate", getELText(_structuredDocument,2953));
assertEquals("myBeanSubClass.validate2", getELText(_structuredDocument,3013));
assertEquals("myBeanSubClass.getSelf", getELText(_structuredDocument,3074));
assertEquals("myBeanSubClass.isIsStyleBooleanProperty", getELText(_structuredDocument,3133));
assertEquals("myBeanSubClass.getSubClassStringProperty", getELText(_structuredDocument,3209));
assertEquals("-myBean.validate", getELText(_structuredDocument,3338));
assertEquals("myBean.getIntegerProperty + myBean.getDoubleProperty", getELText(_structuredDocument,3387));
}
public void testNoErrorExprs() {
final String[] noStrings = new String[0];
assertNoError(849, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_STRING));
assertNoError(910, Signature.createMethodSignature(noStrings, Signature.SIG_INT));
assertNoError(972, Signature.createMethodSignature(noStrings, Signature.SIG_BOOLEAN));
assertNoError(1034, Signature.createMethodSignature(noStrings, Signature.SIG_DOUBLE));
assertNoError(1095, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_MAP));
assertNoError(1153, Signature.createMethodSignature(noStrings, Signature.createArraySignature(TypeConstants.TYPE_STRING,1)));
assertNoError(1219, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_COLLECTION));
assertNoError(1284, Signature.createMethodSignature(noStrings, "Ljava.util.List;"));
assertNoError(1343, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_COMPARABLE));
assertNoError(1408, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_BIG_INTEGER));
assertNoError(1473, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_BIG_DOUBLE));
assertNoError(1537, Signature.createMethodSignature(noStrings, "Lbeans.MyBean;"));
assertNoError(1594, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_STRING));
assertNoError(1663, Signature.createMethodSignature(new String[]{TypeConstants.TYPE_STRING}, Signature.SIG_VOID));
assertNoError(1732, "(QFacesContext;QUIComponent;Ljava.lang.Object;)V");
assertNoError(1784, "(QFacesContext;QUIComponent;[Ljava.lang.Object;)V");
assertNoError(1837, Signature.createMethodSignature(noStrings, "Lbeans.MyBean;"));
assertNoError(1888, Signature.createMethodSignature(noStrings, Signature.SIG_BOOLEAN));
assertNoError(1958, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_STRING));
assertNoError(2027, Signature.createMethodSignature(noStrings, Signature.SIG_INT));
assertNoError(2097, Signature.createMethodSignature(noStrings, Signature.SIG_BOOLEAN));
assertNoError(2167, Signature.createMethodSignature(noStrings, Signature.SIG_DOUBLE));
assertNoError(2236, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_MAP));
assertNoError(2302, Signature.createMethodSignature(noStrings, Signature.createArraySignature(TypeConstants.TYPE_STRING,1)));
assertNoError(2376, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_COLLECTION));
assertNoError(2449, Signature.createMethodSignature(noStrings, "Ljava.util.List;"));
assertNoError(2516, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_COMPARABLE));
assertNoError(2589, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_BIG_INTEGER));
assertNoError(2662, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_BIG_DOUBLE));
assertNoError(2734, Signature.createMethodSignature(noStrings, "Lbeans.MyBean;"));
assertNoError(2799, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_STRING));
assertNoError(2876, Signature.createMethodSignature(new String[]{TypeConstants.TYPE_STRING}, Signature.SIG_VOID));
assertNoError(2953, "(QFacesContext;QUIComponent;Ljava.lang.Object;)V");
assertNoError(3013, "(QFacesContext;QUIComponent;[Ljava.lang.Object;)V");
assertNoError(3074, Signature.createMethodSignature(noStrings, "Lbeans.MyBean;"));
assertNoError(3133, Signature.createMethodSignature(noStrings, Signature.SIG_BOOLEAN));
assertNoError(3209, Signature.createMethodSignature(noStrings, TypeConstants.TYPE_STRING));
}
public void testWarningExprs()
{
// no warning cases
}
public void testErrorExprs()
{
List list = assertSemanticError(3338, null, 1);
assertContainsProblem(list, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID);
list = assertSemanticError(3387, null, 2);
assertContainsProblem(list, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID);
}
}