blob: cdb892eee8fc365a1f62f94417fa265327394bf3 [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.core.JSFVersion;
import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
/**
* Test cases for logical OR (or, ||)
*
* @author cbateman
*/
public class LogicalOrTestCase extends SingleJSPTestCase
{
public LogicalOrTestCase()
{
super("/testdata/jsps/logicalOR.jsp.data", "/logicalOR.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
}
@Override
protected void setUp() throws Exception
{
super.setUp();
}
@Override
public void testSanity()
{
assertEquals("myBean.booleanProperty or myBean.booleanProperty", getELText(_structuredDocument,828));
assertEquals("myBean.booleanProperty || myBean.booleanProperty", getELText(_structuredDocument,909));
assertEquals("false || myBean.booleanProperty", getELText(_structuredDocument,990));
assertEquals("false or myBean.booleanProperty", getELText(_structuredDocument,1054));
assertEquals("null || myBean.booleanProperty ", getELText(_structuredDocument,1118));
assertEquals("null or myBean.booleanProperty ", getELText(_structuredDocument,1182));
assertEquals("'notTrue' || myBean.booleanProperty", getELText(_structuredDocument,1246));
assertEquals("myBean.booleanProperty || false", getELText(_structuredDocument,1321));
assertEquals("myBean.booleanProperty or false", getELText(_structuredDocument,1385));
assertEquals("myBean.booleanProperty || null ", getELText(_structuredDocument,1449));
assertEquals("myBean.booleanProperty or null", getELText(_structuredDocument,1513));
assertEquals("myBean.booleanProperty || 'notTrue'", getELText(_structuredDocument,1576));
assertEquals("myBean.booleanProperty or 'notTrue'", getELText(_structuredDocument,1646));
assertEquals("'true' or myBean.booleanProperty", getELText(_structuredDocument,1738));
assertEquals("'true' || myBean.booleanProperty", getELText(_structuredDocument,1804));
assertEquals("myBean.booleanProperty or true ", getELText(_structuredDocument,1867));
assertEquals("myBean.booleanProperty || true ", getELText(_structuredDocument,1928));
assertEquals("myBean.booleanProperty || 'true'", getELText(_structuredDocument,1989));
assertEquals("false || true", getELText(_structuredDocument,2051));
assertEquals("null || true", getELText(_structuredDocument,2094));
assertEquals("myBean.integerProperty || false", getELText(_structuredDocument,2161));
assertEquals("false || myBean.integerProperty", getELText(_structuredDocument,2225));
assertEquals("4 || false", getELText(_structuredDocument,2289));
}
@Override
public void testNoErrorExprs()
{
assertNoError(828, Signature.SIG_BOOLEAN);
assertNoError(909, Signature.SIG_BOOLEAN);
assertNoError(990, Signature.SIG_BOOLEAN);
assertNoError(1054, Signature.SIG_BOOLEAN);
assertNoError(1118, Signature.SIG_BOOLEAN);
assertNoError(1182, Signature.SIG_BOOLEAN);
assertNoError(1246, Signature.SIG_BOOLEAN);
assertNoError(1321, Signature.SIG_BOOLEAN);
assertNoError(1385, Signature.SIG_BOOLEAN);
assertNoError(1449, Signature.SIG_BOOLEAN);
assertNoError(1513, Signature.SIG_BOOLEAN);
assertNoError(1576, Signature.SIG_BOOLEAN);
assertNoError(1646, Signature.SIG_BOOLEAN);
}
@Override
public void testWarningExprs()
{
List<IMessage> list = assertSemanticWarning(1738, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID);
list = assertSemanticWarning(1804, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID);
list = assertSemanticWarning(1867, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1928, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(1989, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2051, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2094, Signature.SIG_BOOLEAN, 1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID);
}
@Override
public void testErrorExprs()
{
final List<IMessage> list = assertSemanticError(2161, null,1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
assertSemanticError(2225, null,1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
assertSemanticError(2289, null,1);
assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
}
}