blob: 4f5d7f1e9dfc9b95ee08df4f25c1e5b44e419239 [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.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 greater than (gt, >)
*
* @author cbateman
*/
public class GreaterThanTestCase extends SingleJSPTestCase
{
public GreaterThanTestCase()
{
super("/testdata/jsps/greaterThan.jsp.data", "/greaterThan.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
}
@Override
protected void setUp() throws Exception
{
super.setUp();
}
@Override
public void testSanity()
{
super.testSanity();
assertEquals("myBean.stringProperty > '3'", ELAssert.getELText(_structuredDocument,828));
assertEquals("myBean.stringProperty gt '3'", ELAssert.getELText(_structuredDocument,888));
assertEquals("myBean.integerProperty > 3", ELAssert.getELText(_structuredDocument,949));
assertEquals("myBean.integerProperty gt 3", ELAssert.getELText(_structuredDocument,1008));
assertEquals("myBean.integerProperty > '4' ", ELAssert.getELText(_structuredDocument,1068));
assertEquals("myBean.integerProperty gt '4' ", ELAssert.getELText(_structuredDocument,1130));
assertEquals("myBean.comparableProperty > myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1194));
assertEquals("myBean.comparableProperty gt myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1280));
assertEquals("myBean.integerProperty > -3", ELAssert.getELText(_structuredDocument,1367));
assertEquals("myBean.doubleProperty > 5", ELAssert.getELText(_structuredDocument,1427));
assertEquals("5 gt myBean.bigIntegerProperty", ELAssert.getELText(_structuredDocument,1485));
assertEquals("myBean.bigDoubleProperty > myBean.bigIntegerProperty", ELAssert.getELText(_structuredDocument,1548));
assertEquals("myBean.coins > 'quarter'", ELAssert.getELText(_structuredDocument,1633));
assertEquals("myBean.coins gt 'quarter'", ELAssert.getELText(_structuredDocument,1690));
assertEquals("myBean.rawEnum > 'quarter'", ELAssert.getELText(_structuredDocument,1748));
assertEquals("myBean.coinEnum gt 'quarter'", ELAssert.getELText(_structuredDocument,1807));
assertEquals("myBean.rawEnum > myBean.coins", ELAssert.getELText(_structuredDocument,1864));
assertEquals("myBean.coinEnum > myBean.colors", ELAssert.getELText(_structuredDocument,1922));
assertEquals("5 > 3", ELAssert.getELText(_structuredDocument,2010));
assertEquals("5 gt 3", ELAssert.getELText(_structuredDocument,2045));
assertEquals("'4' > '34'", ELAssert.getELText(_structuredDocument,2081));
assertEquals("'4' gt '34'", ELAssert.getELText(_structuredDocument,2121));
assertEquals("'34' > '34'", ELAssert.getELText(_structuredDocument,2162));
assertEquals("'34' gt '34'", ELAssert.getELText(_structuredDocument,2203));
assertEquals("-5 > 2", ELAssert.getELText(_structuredDocument,2245));
assertEquals("-5 gt 2", ELAssert.getELText(_structuredDocument,2281));
assertEquals("2 > -5", ELAssert.getELText(_structuredDocument,2318));
assertEquals("2 gt -5", ELAssert.getELText(_structuredDocument,2354));
assertEquals("-5 > -5", ELAssert.getELText(_structuredDocument,2391));
assertEquals("-5 gt -5", ELAssert.getELText(_structuredDocument,2428));
assertEquals("myBean.integerProperty > null", ELAssert.getELText(_structuredDocument,2466));
assertEquals("null gt myBean.integerProperty", ELAssert.getELText(_structuredDocument,2525));
assertEquals("5 > true", ELAssert.getELText(_structuredDocument,2606));
assertEquals("5 gt true", ELAssert.getELText(_structuredDocument,2644));
assertEquals("myBean.integerProperty > myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2683));
assertEquals("myBean.integerProperty gt myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2760));
assertEquals("myBean.stringArrayProperty > myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2838));
assertEquals("myBean.stringArrayProperty gt myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2919));
assertEquals("myBean.integerProperty > true ", ELAssert.getELText(_structuredDocument,3004));
assertEquals("myBean.integerProperty gt true ", ELAssert.getELText(_structuredDocument,3067));
assertEquals("myBean.booleanProperty > true", ELAssert.getELText(_structuredDocument,3131));
assertEquals("myBean.booleanProperty gt true", ELAssert.getELText(_structuredDocument,3193));
assertEquals("true > false", ELAssert.getELText(_structuredDocument,3254));
assertEquals("true gt false", ELAssert.getELText(_structuredDocument,3297));
assertEquals("true > false", ELAssert.getELText(_structuredDocument,3341));
assertEquals("myBean.coins > myBean.colors", ELAssert.getELText(_structuredDocument,3383));
assertEquals("myBean.coins gt myBean.colors", ELAssert.getELText(_structuredDocument,3441));
}
@Override
public void testNoErrorExprs()
{
assertNoError(828, Signature.SIG_BOOLEAN);
assertNoError(888, Signature.SIG_BOOLEAN);
assertNoError(949, Signature.SIG_BOOLEAN);
assertNoError(1008, Signature.SIG_BOOLEAN);
assertNoError(1068, Signature.SIG_BOOLEAN);
assertNoError(1130, Signature.SIG_BOOLEAN);
assertNoError(1194, Signature.SIG_BOOLEAN);
assertNoError(1280, Signature.SIG_BOOLEAN);
assertNoError(1367, Signature.SIG_BOOLEAN);
assertNoError(1427, Signature.SIG_BOOLEAN);
assertNoError(1485, Signature.SIG_BOOLEAN);
assertNoError(1548, Signature.SIG_BOOLEAN);
assertNoError(1633, Signature.SIG_BOOLEAN);
assertNoError(1690, Signature.SIG_BOOLEAN);
assertNoError(1748, Signature.SIG_BOOLEAN);
assertNoError(1807, Signature.SIG_BOOLEAN);
assertNoError(1864, Signature.SIG_BOOLEAN);
assertNoError(1922, Signature.SIG_BOOLEAN);
}
@Override
public void testWarningExprs()
{
List<ReportedProblem> list = assertSemanticWarning(2010, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2045, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2081, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2121, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2162, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2203, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2245, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2281, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2318, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2354, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2391, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2428, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2466, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID);
list = assertSemanticWarning(2525, Signature.SIG_BOOLEAN, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID);
}
@Override
public void testErrorExprs()
{
List<ReportedProblem> list = assertSemanticError(2606, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2644, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2683, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2760, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(2838, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(2919, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3004, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(3067, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID);
list = assertSemanticError(3131, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3193, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3254, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3297, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3341, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID);
list = assertSemanticError(3383, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID);
list = assertSemanticError(3441, null, 1);
ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID);
}
}