Bug 243674 - [hotbug] Default configuration for JSF EL validation is too
strict
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/BuiltInSymbolsTestCase.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/BuiltInSymbolsTestCase.java
index 86905c7..5dc6086 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/BuiltInSymbolsTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/BuiltInSymbolsTestCase.java
@@ -1,201 +1,199 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * 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.TypeConstants;
-import org.eclipse.jst.jsf.core.JSFVersion;
-import org.eclipse.jst.jsf.core.tests.util.JSFCoreUtilHelper;
-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 built-in (implicit) symbol resolution
- *
- * @author cbateman
- *
- */
-public class BuiltInSymbolsTestCase extends SingleJSPTestCase
-{
- public BuiltInSymbolsTestCase()
- {
- super("/testdata/jsps/builtinSymbols.jsp.data", "/builtinSymbols.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
- }
-
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
- JSFCoreUtilHelper.injectTestTagRegistryFactoryProvider(JSFCoreUtilHelper.createSimpleRegistryFactory());
- }
-
-
- @Override
- protected void tearDown() throws Exception
- {
- super.tearDown();
- JSFCoreUtilHelper.injectTestTagRegistryFactoryProvider(null);
- }
-
- @Override
- public void testSanity()
- {
- assertEquals("applicationScope", ELAssert.getELText(_structuredDocument,975));
- assertEquals("sessionScope", ELAssert.getELText(_structuredDocument,1024));
- assertEquals("requestScope", ELAssert.getELText(_structuredDocument,1069));
- assertEquals("cookie", ELAssert.getELText(_structuredDocument,1114));
- assertEquals("facesContext", ELAssert.getELText(_structuredDocument,1153));
- assertEquals("header", ELAssert.getELText(_structuredDocument,1198));
- assertEquals("headerValues", ELAssert.getELText(_structuredDocument,1237));
- assertEquals("initParam", ELAssert.getELText(_structuredDocument,1282));
- assertEquals("param", ELAssert.getELText(_structuredDocument,1324));
- assertEquals("paramValues", ELAssert.getELText(_structuredDocument,1362));
- assertEquals("view", ELAssert.getELText(_structuredDocument,1406));
- assertEquals("applicationScope.mapBean", ELAssert.getELText(_structuredDocument,1492));
- assertEquals("sessionScope.myBean", ELAssert.getELText(_structuredDocument,1596));
- assertEquals("sessionScope.mapBean1", ELAssert.getELText(_structuredDocument,1645));
- assertEquals("sessionScope.myBeanSettable", ELAssert.getELText(_structuredDocument,1696));
- assertEquals("requestScope.myBeanSubClass", ELAssert.getELText(_structuredDocument,1803));
- assertEquals("requestScope.hiddenBean", ELAssert.getELText(_structuredDocument,1860));
- assertEquals("requestScope.bundle", ELAssert.getELText(_structuredDocument,1913));
- assertEquals("requestScope.bundle2", ELAssert.getELText(_structuredDocument,1962));
- assertEquals("empty cookie", ELAssert.getELText(_structuredDocument,2096));
- assertEquals("empty header", ELAssert.getELText(_structuredDocument,2138));
- assertEquals("empty headerValues", ELAssert.getELText(_structuredDocument,2180));
- assertEquals("empty param", ELAssert.getELText(_structuredDocument,2228));
- assertEquals("empty paramValues", ELAssert.getELText(_structuredDocument,2269));
- assertEquals("facesContext.application", ELAssert.getELText(_structuredDocument,2367));
- assertEquals("facesContext.clientIdsWithMessages", ELAssert.getELText(_structuredDocument,2421));
- assertEquals("facesContext.externalContext", ELAssert.getELText(_structuredDocument,2485));
- assertEquals("facesContext.maximumSeverity", ELAssert.getELText(_structuredDocument,2543));
- assertEquals("facesContext.messages", ELAssert.getELText(_structuredDocument,2601));
- assertEquals("facesContext.renderKit", ELAssert.getELText(_structuredDocument,2652));
- assertEquals("facesContext.renderResponse", ELAssert.getELText(_structuredDocument,2704));
- assertEquals("facesContext.responseComplete", ELAssert.getELText(_structuredDocument,2761));
- assertEquals("facesContext.responseStream", ELAssert.getELText(_structuredDocument,2820));
- assertEquals("facesContext.responseWriter", ELAssert.getELText(_structuredDocument,2877));
- assertEquals("facesContext.viewRoot", ELAssert.getELText(_structuredDocument,2934));
- assertEquals("view.viewId", ELAssert.getELText(_structuredDocument,3030));
- assertEquals("view.family", ELAssert.getELText(_structuredDocument,3071));
- assertEquals("view.locale", ELAssert.getELText(_structuredDocument,3112));
- assertEquals("view.renderKitId", ELAssert.getELText(_structuredDocument,3153));
- assertEquals("view.viewId", ELAssert.getELText(_structuredDocument,3199));
- assertEquals("sessionScope.myBean.integerProperty", ELAssert.getELText(_structuredDocument,3295));
- assertEquals("requestScope.bundle.bundleProp2", ELAssert.getELText(_structuredDocument,3363));
- assertEquals("3 + sessionScope.myBean.integerProperty", ELAssert.getELText(_structuredDocument,3478));
-
- assertEquals("applicationScope.notAMember", ELAssert.getELText(_structuredDocument,3572));
- assertEquals("sessionScope.notAMember", ELAssert.getELText(_structuredDocument,3632));
- assertEquals("requestScope.notAMember", ELAssert.getELText(_structuredDocument,3688));
- assertEquals("cookie.notAMember", ELAssert.getELText(_structuredDocument,3744));
- assertEquals("facesContext.notAMember", ELAssert.getELText(_structuredDocument,3794));
- assertEquals("header.notAMember", ELAssert.getELText(_structuredDocument,3850));
- assertEquals("headerValues.notAMember", ELAssert.getELText(_structuredDocument,3900));
- assertEquals("initParam.notAMember", ELAssert.getELText(_structuredDocument,3956));
- assertEquals("param.notAMember", ELAssert.getELText(_structuredDocument,4009));
- assertEquals("paramValues.notAMember", ELAssert.getELText(_structuredDocument,4058));
- assertEquals("view.notAMember", ELAssert.getELText(_structuredDocument,4113));
- assertEquals("applicationScope.myBean_none", ELAssert.getELText(_structuredDocument,4209));
- assertEquals("sessionScope.myBean_none", ELAssert.getELText(_structuredDocument,4270));
- assertEquals("requestScope.myBean_none", ELAssert.getELText(_structuredDocument,4327));
-
- assertEquals("!initParam", ELAssert.getELText(_structuredDocument,4400));
- }
-
- @Override
- public void testNoErrorExprs()
- {
- assertNoError(975, TypeConstants.TYPE_MAP);
- assertNoError(1024, TypeConstants.TYPE_MAP);
- assertNoError(1069, TypeConstants.TYPE_MAP);
- assertNoError(1114, TypeConstants.TYPE_MAP);
- assertNoError(1153, "Ljavax.faces.context.FacesContext;");
- assertNoError(1198, TypeConstants.TYPE_MAP);
- assertNoError(1237, TypeConstants.TYPE_MAP);
- assertNoError(1282, TypeConstants.TYPE_MAP);
- assertNoError(1324, TypeConstants.TYPE_MAP);
- assertNoError(1362, TypeConstants.TYPE_MAP);
- assertNoError(1406, "Ljavax.faces.component.UIViewRoot;");
- assertNoError(1492, "Lbeans.MapBean;");
- assertNoError(1596, "Lbeans.MyBean;");
- assertNoError(1645, "Lbeans.MapBean;");
- assertNoError(1696, "Lbeans.MyBeanSettable;");
- assertNoError(1803, "Lbeans.MyBeanSubClass;");
- assertNoError(1860, "Lbeans.MyBean;");
-
- assertNoError(1913, TypeConstants.TYPE_MAP);
- assertNoError(1962, TypeConstants.TYPE_MAP);
-
- assertNoError(2096, Signature.SIG_BOOLEAN);
- assertNoError(2138, Signature.SIG_BOOLEAN);
- assertNoError(2180, Signature.SIG_BOOLEAN);
- assertNoError(2228, Signature.SIG_BOOLEAN);
- assertNoError(2269, Signature.SIG_BOOLEAN);
- // TODO: can't check these until we can import the required API jars
- // into the project
- // assertEquals("facesContext.application", getELText(_structuredDocument,2367));
- // assertEquals("facesContext.clientIdsWithMessages", getELText(_structuredDocument,2421));
- // assertEquals("facesContext.externalContext", getELText(_structuredDocument,2485));
- // assertEquals("facesContext.maximumSeverity", getELText(_structuredDocument,2543));
- // assertEquals("facesContext.messages", getELText(_structuredDocument,2601));
- // assertEquals("facesContext.renderKit", getELText(_structuredDocument,2652));
- // assertEquals("facesContext.renderResponse", getELText(_structuredDocument,2704));
- // assertEquals("facesContext.responseComplete", getELText(_structuredDocument,2761));
- // assertEquals("facesContext.responseStream", getELText(_structuredDocument,2820));
- // assertEquals("facesContext.responseWriter", getELText(_structuredDocument,2877));
- // assertEquals("facesContext.viewRoot", getELText(_structuredDocument,2934));
- // assertEquals("view.viewId", getELText(_structuredDocument,3030));
- // assertEquals("view.family", getELText(_structuredDocument,3071));
- // assertEquals("view.locale", getELText(_structuredDocument,3112));
- // assertEquals("view.renderKitId", getELText(_structuredDocument,3153));
- // assertEquals("view.viewId", getELText(_structuredDocument,3199));
- assertNoError(3295, Signature.SIG_INT);
- assertNoError(3363, TypeConstants.TYPE_STRING);
- assertNoError(3478, Signature.SIG_LONG);
-
- // can't know what's actually in the scope map. so anything unresolved is just
- // no error Java object.
- assertNoError(3572, TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3632,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3688,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3744,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3794,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3850,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3900,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(3956,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4009,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4058,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4113,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4209,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4270,TypeConstants.TYPE_JAVAOBJECT);
- assertNoError(4327,TypeConstants.TYPE_JAVAOBJECT);
- }
- @Override
- public void testWarningExprs()
- {
- // no warnings. The issues marked warnings in the jsp test data
- // are no longer, since we realized that maps can contain anything...
- // the only exceptino is FacesContext which is resovled to a map
- // at test time since the API is not in the classpath. This
- // should be changed if start using jsf api/impl in these tests TODO
- }
-
- @Override
- public void testErrorExprs()
- {
- final List<ReportedProblem> list = assertSemanticError(4400,null,1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2001, 2008 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsf.validation.el.tests.jsp;
+
+import org.eclipse.jdt.core.Signature;
+import org.eclipse.jst.jsf.common.internal.types.TypeConstants;
+import org.eclipse.jst.jsf.core.JSFVersion;
+import org.eclipse.jst.jsf.core.tests.util.JSFCoreUtilHelper;
+import org.eclipse.jst.jsf.validation.el.tests.base.ELAssert;
+import org.eclipse.jst.jsf.validation.el.tests.base.SingleJSPTestCase;
+
+/**
+ * Test cases for built-in (implicit) symbol resolution
+ *
+ * @author cbateman
+ *
+ */
+public class BuiltInSymbolsTestCase extends SingleJSPTestCase
+{
+ public BuiltInSymbolsTestCase()
+ {
+ super("/testdata/jsps/builtinSymbols.jsp.data", "/builtinSymbols.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ JSFCoreUtilHelper.injectTestTagRegistryFactoryProvider(JSFCoreUtilHelper.createSimpleRegistryFactory());
+ }
+
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+ JSFCoreUtilHelper.injectTestTagRegistryFactoryProvider(null);
+ }
+
+ @Override
+ public void testSanity()
+ {
+ assertEquals("applicationScope", ELAssert.getELText(_structuredDocument,975));
+ assertEquals("sessionScope", ELAssert.getELText(_structuredDocument,1024));
+ assertEquals("requestScope", ELAssert.getELText(_structuredDocument,1069));
+ assertEquals("cookie", ELAssert.getELText(_structuredDocument,1114));
+ assertEquals("facesContext", ELAssert.getELText(_structuredDocument,1153));
+ assertEquals("header", ELAssert.getELText(_structuredDocument,1198));
+ assertEquals("headerValues", ELAssert.getELText(_structuredDocument,1237));
+ assertEquals("initParam", ELAssert.getELText(_structuredDocument,1282));
+ assertEquals("param", ELAssert.getELText(_structuredDocument,1324));
+ assertEquals("paramValues", ELAssert.getELText(_structuredDocument,1362));
+ assertEquals("view", ELAssert.getELText(_structuredDocument,1406));
+ assertEquals("applicationScope.mapBean", ELAssert.getELText(_structuredDocument,1492));
+ assertEquals("sessionScope.myBean", ELAssert.getELText(_structuredDocument,1596));
+ assertEquals("sessionScope.mapBean1", ELAssert.getELText(_structuredDocument,1645));
+ assertEquals("sessionScope.myBeanSettable", ELAssert.getELText(_structuredDocument,1696));
+ assertEquals("requestScope.myBeanSubClass", ELAssert.getELText(_structuredDocument,1803));
+ assertEquals("requestScope.hiddenBean", ELAssert.getELText(_structuredDocument,1860));
+ assertEquals("requestScope.bundle", ELAssert.getELText(_structuredDocument,1913));
+ assertEquals("requestScope.bundle2", ELAssert.getELText(_structuredDocument,1962));
+ assertEquals("empty cookie", ELAssert.getELText(_structuredDocument,2096));
+ assertEquals("empty header", ELAssert.getELText(_structuredDocument,2138));
+ assertEquals("empty headerValues", ELAssert.getELText(_structuredDocument,2180));
+ assertEquals("empty param", ELAssert.getELText(_structuredDocument,2228));
+ assertEquals("empty paramValues", ELAssert.getELText(_structuredDocument,2269));
+ assertEquals("facesContext.application", ELAssert.getELText(_structuredDocument,2367));
+ assertEquals("facesContext.clientIdsWithMessages", ELAssert.getELText(_structuredDocument,2421));
+ assertEquals("facesContext.externalContext", ELAssert.getELText(_structuredDocument,2485));
+ assertEquals("facesContext.maximumSeverity", ELAssert.getELText(_structuredDocument,2543));
+ assertEquals("facesContext.messages", ELAssert.getELText(_structuredDocument,2601));
+ assertEquals("facesContext.renderKit", ELAssert.getELText(_structuredDocument,2652));
+ assertEquals("facesContext.renderResponse", ELAssert.getELText(_structuredDocument,2704));
+ assertEquals("facesContext.responseComplete", ELAssert.getELText(_structuredDocument,2761));
+ assertEquals("facesContext.responseStream", ELAssert.getELText(_structuredDocument,2820));
+ assertEquals("facesContext.responseWriter", ELAssert.getELText(_structuredDocument,2877));
+ assertEquals("facesContext.viewRoot", ELAssert.getELText(_structuredDocument,2934));
+ assertEquals("view.viewId", ELAssert.getELText(_structuredDocument,3030));
+ assertEquals("view.family", ELAssert.getELText(_structuredDocument,3071));
+ assertEquals("view.locale", ELAssert.getELText(_structuredDocument,3112));
+ assertEquals("view.renderKitId", ELAssert.getELText(_structuredDocument,3153));
+ assertEquals("view.viewId", ELAssert.getELText(_structuredDocument,3199));
+ assertEquals("sessionScope.myBean.integerProperty", ELAssert.getELText(_structuredDocument,3295));
+ assertEquals("requestScope.bundle.bundleProp2", ELAssert.getELText(_structuredDocument,3363));
+ assertEquals("3 + sessionScope.myBean.integerProperty", ELAssert.getELText(_structuredDocument,3478));
+
+ assertEquals("applicationScope.notAMember", ELAssert.getELText(_structuredDocument,3572));
+ assertEquals("sessionScope.notAMember", ELAssert.getELText(_structuredDocument,3632));
+ assertEquals("requestScope.notAMember", ELAssert.getELText(_structuredDocument,3688));
+ assertEquals("cookie.notAMember", ELAssert.getELText(_structuredDocument,3744));
+ assertEquals("facesContext.notAMember", ELAssert.getELText(_structuredDocument,3794));
+ assertEquals("header.notAMember", ELAssert.getELText(_structuredDocument,3850));
+ assertEquals("headerValues.notAMember", ELAssert.getELText(_structuredDocument,3900));
+ assertEquals("initParam.notAMember", ELAssert.getELText(_structuredDocument,3956));
+ assertEquals("param.notAMember", ELAssert.getELText(_structuredDocument,4009));
+ assertEquals("paramValues.notAMember", ELAssert.getELText(_structuredDocument,4058));
+ assertEquals("view.notAMember", ELAssert.getELText(_structuredDocument,4113));
+ assertEquals("applicationScope.myBean_none", ELAssert.getELText(_structuredDocument,4209));
+ assertEquals("sessionScope.myBean_none", ELAssert.getELText(_structuredDocument,4270));
+ assertEquals("requestScope.myBean_none", ELAssert.getELText(_structuredDocument,4327));
+
+ assertEquals("!initParam", ELAssert.getELText(_structuredDocument,4400));
+ }
+
+ @Override
+ public void testNoErrorExprs()
+ {
+ assertNoError(975, TypeConstants.TYPE_MAP);
+ assertNoError(1024, TypeConstants.TYPE_MAP);
+ assertNoError(1069, TypeConstants.TYPE_MAP);
+ assertNoError(1114, TypeConstants.TYPE_MAP);
+ assertNoError(1153, "Ljavax.faces.context.FacesContext;");
+ assertNoError(1198, TypeConstants.TYPE_MAP);
+ assertNoError(1237, TypeConstants.TYPE_MAP);
+ assertNoError(1282, TypeConstants.TYPE_MAP);
+ assertNoError(1324, TypeConstants.TYPE_MAP);
+ assertNoError(1362, TypeConstants.TYPE_MAP);
+ assertNoError(1406, "Ljavax.faces.component.UIViewRoot;");
+ assertNoError(1492, "Lbeans.MapBean;");
+ assertNoError(1596, "Lbeans.MyBean;");
+ assertNoError(1645, "Lbeans.MapBean;");
+ assertNoError(1696, "Lbeans.MyBeanSettable;");
+ assertNoError(1803, "Lbeans.MyBeanSubClass;");
+ assertNoError(1860, "Lbeans.MyBean;");
+
+ assertNoError(1913, TypeConstants.TYPE_MAP);
+ assertNoError(1962, TypeConstants.TYPE_MAP);
+
+ assertNoError(2096, Signature.SIG_BOOLEAN);
+ assertNoError(2138, Signature.SIG_BOOLEAN);
+ assertNoError(2180, Signature.SIG_BOOLEAN);
+ assertNoError(2228, Signature.SIG_BOOLEAN);
+ assertNoError(2269, Signature.SIG_BOOLEAN);
+ // TODO: can't check these until we can import the required API jars
+ // into the project
+ // assertEquals("facesContext.application", getELText(_structuredDocument,2367));
+ // assertEquals("facesContext.clientIdsWithMessages", getELText(_structuredDocument,2421));
+ // assertEquals("facesContext.externalContext", getELText(_structuredDocument,2485));
+ // assertEquals("facesContext.maximumSeverity", getELText(_structuredDocument,2543));
+ // assertEquals("facesContext.messages", getELText(_structuredDocument,2601));
+ // assertEquals("facesContext.renderKit", getELText(_structuredDocument,2652));
+ // assertEquals("facesContext.renderResponse", getELText(_structuredDocument,2704));
+ // assertEquals("facesContext.responseComplete", getELText(_structuredDocument,2761));
+ // assertEquals("facesContext.responseStream", getELText(_structuredDocument,2820));
+ // assertEquals("facesContext.responseWriter", getELText(_structuredDocument,2877));
+ // assertEquals("facesContext.viewRoot", getELText(_structuredDocument,2934));
+ // assertEquals("view.viewId", getELText(_structuredDocument,3030));
+ // assertEquals("view.family", getELText(_structuredDocument,3071));
+ // assertEquals("view.locale", getELText(_structuredDocument,3112));
+ // assertEquals("view.renderKitId", getELText(_structuredDocument,3153));
+ // assertEquals("view.viewId", getELText(_structuredDocument,3199));
+ assertNoError(3295, Signature.SIG_INT);
+ assertNoError(3363, TypeConstants.TYPE_STRING);
+ assertNoError(3478, Signature.SIG_LONG);
+
+ // can't know what's actually in the scope map. so anything unresolved is just
+ // no error Java object.
+ assertNoError(3572, TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3632,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3688,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3744,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3794,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3850,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3900,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(3956,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4009,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4058,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4113,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4209,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4270,TypeConstants.TYPE_JAVAOBJECT);
+ assertNoError(4327,TypeConstants.TYPE_JAVAOBJECT);
+ }
+ @Override
+ public void testWarningExprs()
+ {
+ // no warnings. The issues marked warnings in the jsp test data
+ // are no longer, since we realized that maps can contain anything...
+ // the only exceptino is FacesContext which is resovled to a map
+ // at test time since the API is not in the classpath. This
+ // should be changed if start using jsf api/impl in these tests TODO
+ }
+
+ @Override
+ public void testErrorExprs()
+ {
+ /* reduced to warning for bug 243674
+ final List<ReportedProblem> list = assertSemanticError(4400,null,1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+ */
+ }
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LogicalNotTestCase.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LogicalNotTestCase.java
index 647d825..24c2e78 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LogicalNotTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/LogicalNotTestCase.java
@@ -1,140 +1,142 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * 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 logical not (not, !)
- *
- * @author cbateman
- */
-public class LogicalNotTestCase extends SingleJSPTestCase {
-
- public LogicalNotTestCase()
- {
- super("/testdata/jsps/logicalNOT.jsp.data", "/logicalNOT.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", ELAssert.getELText(_structuredDocument,829));
- assertEquals("not myBean.booleanProperty", ELAssert.getELText(_structuredDocument,885));
- assertEquals("!myBean.stringProperty", ELAssert.getELText(_structuredDocument,941));
- assertEquals("not myBean.stringProperty", ELAssert.getELText(_structuredDocument,993));
-
- assertEquals("!true", ELAssert.getELText(_structuredDocument,1075));
- assertEquals("not true", ELAssert.getELText(_structuredDocument,1113));
- assertEquals("!false", ELAssert.getELText(_structuredDocument,1154));
- assertEquals("not false", ELAssert.getELText(_structuredDocument,1193));
- assertEquals("! 'true'", ELAssert.getELText(_structuredDocument,1235));
- assertEquals("not 'true'", ELAssert.getELText(_structuredDocument,1276));
- assertEquals("! 'notTrue'", ELAssert.getELText(_structuredDocument,1319));
- assertEquals("not 'notTrue'", ELAssert.getELText(_structuredDocument,1363));
-
- assertEquals("!5", ELAssert.getELText(_structuredDocument,1430));
- assertEquals("not 5", ELAssert.getELText(_structuredDocument,1462));
- assertEquals("!myBean.integerProperty", ELAssert.getELText(_structuredDocument,1497));
- assertEquals("not myBean.integerProperty", ELAssert.getELText(_structuredDocument,1550));
- assertEquals("!myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1606));
- assertEquals("not myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1662));
- assertEquals("!myBean.stringArrayProperty", ELAssert.getELText(_structuredDocument,1721));
- assertEquals("not myBean.stringArrayProperty", ELAssert.getELText(_structuredDocument,1778));
- assertEquals("!myBean.mapProperty", ELAssert.getELText(_structuredDocument,1838));
- assertEquals("not myBean.mapProperty", ELAssert.getELText(_structuredDocument,1887));
- }
-
- @Override
- public void testNoErrorExprs()
- {
- assertNoError(829, Signature.SIG_BOOLEAN);
- assertNoError(885, Signature.SIG_BOOLEAN);
- assertNoError(941, Signature.SIG_BOOLEAN);
- assertNoError(993, Signature.SIG_BOOLEAN);
- }
-
- @Override
- public void testWarningExprs()
- {
- List<ReportedProblem> list = assertSemanticWarning(1075, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1113, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1154, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1193, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1235, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1276, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1319, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
-
- list = assertSemanticWarning(1363, Signature.SIG_BOOLEAN, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
- }
-
- @Override
- public void testErrorExprs()
- {
- List<ReportedProblem> list = assertSemanticError(1430, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1462, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1497, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1550, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1606, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1662, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1721, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1778, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1838, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
-
- list = assertSemanticError(1887, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2001, 2008 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * 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 logical not (not, !)
+ *
+ * @author cbateman
+ */
+public class LogicalNotTestCase extends SingleJSPTestCase {
+
+ public LogicalNotTestCase()
+ {
+ super("/testdata/jsps/logicalNOT.jsp.data", "/logicalNOT.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", ELAssert.getELText(_structuredDocument,829));
+ assertEquals("not myBean.booleanProperty", ELAssert.getELText(_structuredDocument,885));
+ assertEquals("!myBean.stringProperty", ELAssert.getELText(_structuredDocument,941));
+ assertEquals("not myBean.stringProperty", ELAssert.getELText(_structuredDocument,993));
+
+ assertEquals("!true", ELAssert.getELText(_structuredDocument,1075));
+ assertEquals("not true", ELAssert.getELText(_structuredDocument,1113));
+ assertEquals("!false", ELAssert.getELText(_structuredDocument,1154));
+ assertEquals("not false", ELAssert.getELText(_structuredDocument,1193));
+ assertEquals("! 'true'", ELAssert.getELText(_structuredDocument,1235));
+ assertEquals("not 'true'", ELAssert.getELText(_structuredDocument,1276));
+ assertEquals("! 'notTrue'", ELAssert.getELText(_structuredDocument,1319));
+ assertEquals("not 'notTrue'", ELAssert.getELText(_structuredDocument,1363));
+
+ assertEquals("!5", ELAssert.getELText(_structuredDocument,1430));
+ assertEquals("not 5", ELAssert.getELText(_structuredDocument,1462));
+ assertEquals("!myBean.integerProperty", ELAssert.getELText(_structuredDocument,1497));
+ assertEquals("not myBean.integerProperty", ELAssert.getELText(_structuredDocument,1550));
+ assertEquals("!myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1606));
+ assertEquals("not myBean.collectionProperty", ELAssert.getELText(_structuredDocument,1662));
+ assertEquals("!myBean.stringArrayProperty", ELAssert.getELText(_structuredDocument,1721));
+ assertEquals("not myBean.stringArrayProperty", ELAssert.getELText(_structuredDocument,1778));
+ assertEquals("!myBean.mapProperty", ELAssert.getELText(_structuredDocument,1838));
+ assertEquals("not myBean.mapProperty", ELAssert.getELText(_structuredDocument,1887));
+ }
+
+ @Override
+ public void testNoErrorExprs()
+ {
+ assertNoError(829, Signature.SIG_BOOLEAN);
+ assertNoError(885, Signature.SIG_BOOLEAN);
+ assertNoError(941, Signature.SIG_BOOLEAN);
+ assertNoError(993, Signature.SIG_BOOLEAN);
+ }
+
+ @Override
+ public void testWarningExprs()
+ {
+ List<ReportedProblem> list = assertSemanticWarning(1075, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1113, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1154, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1193, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1235, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1276, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1319, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+
+ list = assertSemanticWarning(1363, Signature.SIG_BOOLEAN, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID);
+ }
+
+ @Override
+ public void testErrorExprs()
+ {
+ /* reduced to warning for bug 243674
+ List<ReportedProblem> list = assertSemanticError(1430, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1462, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1497, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1550, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1606, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1662, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1721, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1778, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1838, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+
+ list = assertSemanticError(1887, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID);
+ */
+ }
+
+}
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/MarkerOffsetsTestCase.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/MarkerOffsetsTestCase.java
index ec3a76f..e2e831e 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/MarkerOffsetsTestCase.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/jsp/MarkerOffsetsTestCase.java
@@ -1,178 +1,180 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2008 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.el.tests.jsp;
-
-import java.util.List;
-
-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;
-
-/**
- * Used to verify that marker offset/lengths are calculated correctly
- * for each type error message. This test case should aim for coverage
- * of all diagnostic creation for EL. Note that we can't currently get coverage
- * on ternaries (parser bug), empty bracket or missing bracket because these things
- * are validated outside the EL validator.
- *
- * @author cbateman
- *
- */
-public class MarkerOffsetsTestCase extends SingleJSPTestCase
-{
- public MarkerOffsetsTestCase() {
- super("/testdata/jsps/markerOffsets.jsp.data", "/markerOffsets.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
- }
-
- @Override
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
- @Override
- public void testSanity()
- {
- assertEquals("5 + 3", ELAssert.getELText(_structuredDocument,880));
- assertEquals("null / null", ELAssert.getELText(_structuredDocument,915));
- assertEquals("myBean.integerProperty == null", ELAssert.getELText(_structuredDocument,956));
- assertEquals("false && myBean.booleanProperty", ELAssert.getELText(_structuredDocument,1015));
- assertEquals("myBean.booleanProperty && false", ELAssert.getELText(_structuredDocument,1075));
- assertEquals("!false", ELAssert.getELText(_structuredDocument,1135));
- assertEquals("empty 5", ELAssert.getELText(_structuredDocument,1171));
- assertEquals("-null", ELAssert.getELText(_structuredDocument,1208));
- assertEquals("-myBean.stringProperty", ELAssert.getELText(_structuredDocument,1243));
- assertEquals("myBean.integerProperty - (5 + 3)", ELAssert.getELText(_structuredDocument,1376));
- assertEquals("myBean.booleanProperty && myBean.integerProperty + 5 == null", ELAssert.getELText(_structuredDocument,1438));
- assertEquals("notABean.stringProperty", ELAssert.getELText(_structuredDocument,1569));
- assertEquals("myBean.notAProperty", ELAssert.getELText(_structuredDocument,1622));
- assertEquals("myBean.integerProperty + 5 + myBean.notAProperty", ELAssert.getELText(_structuredDocument,1671));
- assertEquals("myBean.integerProperty++", ELAssert.getELText(_structuredDocument,1769));
- assertEquals("myBean.", ELAssert.getELText(_structuredDocument,1823));
- assertEquals(" ", ELAssert.getELText(_structuredDocument,1860));
-
- assertEquals("myBean.integerProperty / 0", ELAssert.getELText(_structuredDocument,1978));
- assertEquals("myBean.integerProperty + myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2034));
- assertEquals("myBean.integerProperty && myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2111));
- assertEquals("myBean.booleanProperty >= myBean.collectionProperty", ELAssert.getELText(_structuredDocument,2189));
- assertEquals("5 + 'noNumberConversion'", ELAssert.getELText(_structuredDocument,2270));
- assertEquals("-true", ELAssert.getELText(_structuredDocument,2324));
- assertEquals("!5", ELAssert.getELText(_structuredDocument,2359));
- assertEquals("myBean.doubleProperty + myBean.getIntegerProperty", ELAssert.getELText(_structuredDocument,2418));
-
- }
-
- @Override
- public void testNoErrorExprs()
- {
- // marker offset tests are only meaningful for validation warnings and errors
- // since we are testing the length and offset values for their corresponding markers
- }
- @Override
- public void testWarningExprs()
- {
- // UPDATE REMINDER! The third argument in assertContainsProblem is the start
- // offset (absolute) of the marker expected. Before updating the assertSemanticWarning
- // make a note to the difference
- List<ReportedProblem> list = assertSemanticWarning(880, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, 880, 5);
-
- list = assertSemanticWarning(915, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID, 915, 11);
-
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=235637
- // can only call comparison null always same if can verify both
- // sides of the expression are null
-// list = assertSemanticWarning(956, null, 1);
-// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, 956, 30);
-
- list = assertSemanticWarning(1015, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID, 1015, 31);
-
- list = assertSemanticWarning(1075, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, 1075, 31);
-
- list = assertSemanticWarning(1135, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID, 1135, 6);
-
- list = assertSemanticWarning(1171, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID, 1171, 7);
-
- list = assertSemanticWarning(1208, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID, 1208, 5);
-
- list = assertSemanticWarning(1243, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID, 1243, 22);
-
- list = assertSemanticWarning(1376, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, 1402, 5);
-
-// list = assertSemanticWarning(1438, null, 2);
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=235637
- // can only call comparison null always same if can verify both
- // sides of the expression are null
-// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, 1464, 34);
-// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, 1438, 60);
-
- list = assertSemanticInfo(1569, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.VARIABLE_NOT_FOUND_ID, 1569, 8);
-
- list = assertSemanticWarning(1622, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1629, 12);
-
- list = assertSemanticWarning(1671, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1707, 12);
-
- list = assertSyntaxWarning(1769, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID, 1792, 1);
-
- // Is really correct to have the property offset start on the dot?
- list = assertSemanticWarning(1823, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1829, 1);
-
- list = assertSyntaxWarning(1860, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID, 1860, 1);
- }
-
- @Override
- public void testErrorExprs()
- {
- // UPDATE REMINDER! The third argument in assertContainsProblem is the start
- // offset (absolute) of the marker expected. Before updating the assertSemanticWarning
- // make a note to the difference
- List<ReportedProblem> list = assertSemanticError(1978, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID, 1978, 26);
-
- list = assertSemanticError(2034, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, 2034, 47);
-
- list = assertSemanticError(2111, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, 2111, 48);
-
- list = assertSemanticError(2189, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID, 2189, 51);
-
- list = assertSemanticError(2270, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID, 2270, 24);
-
- list = assertSemanticError(2324, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, 2324, 5);
-
- list = assertSemanticError(2359, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, 2359, 2);
-
- list = assertSemanticError(2418, null, 1);
- ELAssert.assertContainsProblem(list, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID, 2442, 25);
- }
-
+/*******************************************************************************
+ * Copyright (c) 2001, 2008 Oracle Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Oracle Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsf.validation.el.tests.jsp;
+
+import java.util.List;
+
+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;
+
+/**
+ * Used to verify that marker offset/lengths are calculated correctly
+ * for each type error message. This test case should aim for coverage
+ * of all diagnostic creation for EL. Note that we can't currently get coverage
+ * on ternaries (parser bug), empty bracket or missing bracket because these things
+ * are validated outside the EL validator.
+ *
+ * @author cbateman
+ *
+ */
+public class MarkerOffsetsTestCase extends SingleJSPTestCase
+{
+ public MarkerOffsetsTestCase() {
+ super("/testdata/jsps/markerOffsets.jsp.data", "/markerOffsets.jsp", JSFVersion.V1_1,FACES_CONFIG_FILE_NAME_1_1);
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ }
+
+ @Override
+ public void testSanity()
+ {
+ assertEquals("5 + 3", ELAssert.getELText(_structuredDocument,880));
+ assertEquals("null / null", ELAssert.getELText(_structuredDocument,915));
+ assertEquals("myBean.integerProperty == null", ELAssert.getELText(_structuredDocument,956));
+ assertEquals("false && myBean.booleanProperty", ELAssert.getELText(_structuredDocument,1015));
+ assertEquals("myBean.booleanProperty && false", ELAssert.getELText(_structuredDocument,1075));
+ assertEquals("!false", ELAssert.getELText(_structuredDocument,1135));
+ assertEquals("empty 5", ELAssert.getELText(_structuredDocument,1171));
+ assertEquals("-null", ELAssert.getELText(_structuredDocument,1208));
+ assertEquals("-myBean.stringProperty", ELAssert.getELText(_structuredDocument,1243));
+ assertEquals("myBean.integerProperty - (5 + 3)", ELAssert.getELText(_structuredDocument,1376));
+ assertEquals("myBean.booleanProperty && myBean.integerProperty + 5 == null", ELAssert.getELText(_structuredDocument,1438));
+ assertEquals("notABean.stringProperty", ELAssert.getELText(_structuredDocument,1569));
+ assertEquals("myBean.notAProperty", ELAssert.getELText(_structuredDocument,1622));
+ assertEquals("myBean.integerProperty + 5 + myBean.notAProperty", ELAssert.getELText(_structuredDocument,1671));
+ assertEquals("myBean.integerProperty++", ELAssert.getELText(_structuredDocument,1769));
+ assertEquals("myBean.", ELAssert.getELText(_structuredDocument,1823));
+ assertEquals(" ", ELAssert.getELText(_structuredDocument,1860));
+
+ assertEquals("myBean.integerProperty / 0", ELAssert.getELText(_structuredDocument,1978));
+ assertEquals("myBean.integerProperty + myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2034));
+ assertEquals("myBean.integerProperty && myBean.booleanProperty", ELAssert.getELText(_structuredDocument,2111));
+ assertEquals("myBean.booleanProperty >= myBean.collectionProperty", ELAssert.getELText(_structuredDocument,2189));
+ assertEquals("5 + 'noNumberConversion'", ELAssert.getELText(_structuredDocument,2270));
+ assertEquals("-true", ELAssert.getELText(_structuredDocument,2324));
+ assertEquals("!5", ELAssert.getELText(_structuredDocument,2359));
+ assertEquals("myBean.doubleProperty + myBean.getIntegerProperty", ELAssert.getELText(_structuredDocument,2418));
+
+ }
+
+ @Override
+ public void testNoErrorExprs()
+ {
+ // marker offset tests are only meaningful for validation warnings and errors
+ // since we are testing the length and offset values for their corresponding markers
+ }
+ @Override
+ public void testWarningExprs()
+ {
+ // UPDATE REMINDER! The third argument in assertContainsProblem is the start
+ // offset (absolute) of the marker expected. Before updating the assertSemanticWarning
+ // make a note to the difference
+ List<ReportedProblem> list = assertSemanticWarning(880, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, 880, 5);
+
+ list = assertSemanticWarning(915, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID, 915, 11);
+
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=235637
+ // can only call comparison null always same if can verify both
+ // sides of the expression are null
+// list = assertSemanticWarning(956, null, 1);
+// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, 956, 30);
+
+ list = assertSemanticWarning(1015, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID, 1015, 31);
+
+ list = assertSemanticWarning(1075, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, 1075, 31);
+
+ list = assertSemanticWarning(1135, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID, 1135, 6);
+
+ list = assertSemanticWarning(1171, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID, 1171, 7);
+
+ list = assertSemanticWarning(1208, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID, 1208, 5);
+
+ list = assertSemanticWarning(1243, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID, 1243, 22);
+
+ list = assertSemanticWarning(1376, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID, 1402, 5);
+
+// list = assertSemanticWarning(1438, null, 2);
+ // https://bugs.eclipse.org/bugs/show_bug.cgi?id=235637
+ // can only call comparison null always same if can verify both
+ // sides of the expression are null
+// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID, 1464, 34);
+// assertContainsProblem(list, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, 1438, 60);
+
+ list = assertSemanticInfo(1569, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.VARIABLE_NOT_FOUND_ID, 1569, 8);
+
+ list = assertSemanticWarning(1622, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1629, 12);
+
+ list = assertSemanticWarning(1671, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1707, 12);
+
+ list = assertSyntaxWarning(1769, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID, 1792, 1);
+
+ // Is really correct to have the property offset start on the dot?
+ list = assertSemanticWarning(1823, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.MEMBER_NOT_FOUND_ID, 1829, 1);
+
+ list = assertSyntaxWarning(1860, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID, 1860, 1);
+ }
+
+ @Override
+ public void testErrorExprs()
+ {
+ // UPDATE REMINDER! The third argument in assertContainsProblem is the start
+ // offset (absolute) of the marker expected. Before updating the assertSemanticWarning
+ // make a note to the difference
+ List<ReportedProblem> list = assertSemanticError(1978, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID, 1978, 26);
+
+ list = assertSemanticError(2034, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, 2034, 47);
+
+ list = assertSemanticError(2111, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, 2111, 48);
+
+ list = assertSemanticError(2189, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID, 2189, 51);
+
+ list = assertSemanticError(2270, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID, 2270, 24);
+
+ list = assertSemanticError(2324, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, 2324, 5);
+
+ /* reduced to warning for bug 243674
+ list = assertSemanticError(2359, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID, 2359, 2);
+ */
+
+ list = assertSemanticError(2418, null, 1);
+ ELAssert.assertContainsProblem(list, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID, 2442, 25);
+ }
+
}
\ No newline at end of file
diff --git a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/preferences/PrefTestUtil.java b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/preferences/PrefTestUtil.java
index 8f93e18..ccd2e70 100644
--- a/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/preferences/PrefTestUtil.java
+++ b/jsf/tests/org.eclipse.jst.jsf.validation.el.tests/src/org/eclipse/jst/jsf/validation/el/tests/preferences/PrefTestUtil.java
@@ -1,130 +1,130 @@
-/*******************************************************************************
- * Copyright (c) 2007 Oracle Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cameron Bateman - initial implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.validation.el.tests.preferences;
-
-import junit.framework.Assert;
-
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.jst.jsf.validation.internal.ELValidationPreferences;
-import org.eclipse.jst.jsf.validation.internal.Severity;
-import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
-
-final class PrefTestUtil extends Assert
-{
-
- static void assertSeverityLevel(ELValidationPreferences prefs, int diagnosticId, int value)
- {
- final String key = ELValidationPreferences.getKeyById(diagnosticId);
- final Severity sev = prefs.getSeverity(key);
- final int diagnosticSeverity =
- ELValidationPreferences.mapSeverityToDiag(sev.toString());
- assertEquals(value, diagnosticSeverity);
- }
-
- static void setByKey(Severity severity, ELValidationPreferences prefs)
- {
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_BOTH_OPERANDS_NULL, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_NO_AVAILABLE_TYPE_COERCION, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, severity);
- prefs.setSeverity(ELValidationPreferences.TERNARY_OP_CHOICE_IS_ALWAYS_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN, severity);
- prefs.setSeverity(ELValidationPreferences.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED, severity);
- prefs.setSeverity(ELValidationPreferences.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING, severity);
- prefs.setSeverity(ELValidationPreferences.MEMBER_NOT_FOUND, severity);
- prefs.setSeverity(ELValidationPreferences.VARIABLE_NOT_FOUND, severity);
- prefs.setSeverity(ELValidationPreferences.MISSING_CLOSING_EXPR_BRACKET, severity);
- prefs.setSeverity(ELValidationPreferences.GENERAL_SYNTAX_ERROR, severity);
- prefs.setSeverity(ELValidationPreferences.EMPTY_EL_EXPRESSION, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_VALUEB_NULL, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY, severity);
- prefs.setSeverity(ELValidationPreferences.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME, severity);
- prefs.setSeverity(ELValidationPreferences.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE, severity);
- }
- static void assertSetByKey(Severity severity, ELValidationPreferences prefs)
- {
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_BOTH_OPERANDS_NULL));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_NO_AVAILABLE_TYPE_COERCION));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.TERNARY_OP_CHOICE_IS_ALWAYS_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.MEMBER_NOT_FOUND));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.VARIABLE_NOT_FOUND));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.MISSING_CLOSING_EXPR_BRACKET));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.GENERAL_SYNTAX_ERROR));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.EMPTY_EL_EXPRESSION));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_VALUEB_NULL));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME));
- assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE));
- }
-
- static void assertExpectedDefaults(ELValidationPreferences prefs)
- {
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID, Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.MEMBER_NOT_FOUND_ID,Diagnostic.WARNING);
- // everything below warning is mapped to ok for Severity enum
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.VARIABLE_NOT_FOUND_ID,Diagnostic.OK);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.MISSING_CLOSING_EXPR_BRACKET_ID,Diagnostic.ERROR);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.EMPTY_EL_EXPRESSION_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_DOT_WITH_VALUEB_NULL_ID, Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID, Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID,Diagnostic.WARNING);
- PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID,Diagnostic.ERROR);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2007 Oracle Corporation.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Cameron Bateman - initial implementation
+ *******************************************************************************/
+package org.eclipse.jst.jsf.validation.el.tests.preferences;
+
+import junit.framework.Assert;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.jst.jsf.validation.internal.ELValidationPreferences;
+import org.eclipse.jst.jsf.validation.internal.Severity;
+import org.eclipse.jst.jsf.validation.internal.el.diagnostics.DiagnosticFactory;
+
+final class PrefTestUtil extends Assert
+{
+
+ static void assertSeverityLevel(ELValidationPreferences prefs, int diagnosticId, int value)
+ {
+ final String key = ELValidationPreferences.getKeyById(diagnosticId);
+ final Severity sev = prefs.getSeverity(key);
+ final int diagnosticSeverity =
+ ELValidationPreferences.mapSeverityToDiag(sev.toString());
+ assertEquals(value, diagnosticSeverity);
+ }
+
+ static void setByKey(Severity severity, ELValidationPreferences prefs)
+ {
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_BOTH_OPERANDS_NULL, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_NO_AVAILABLE_TYPE_COERCION, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN, severity);
+ prefs.setSeverity(ELValidationPreferences.TERNARY_OP_CHOICE_IS_ALWAYS_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN, severity);
+ prefs.setSeverity(ELValidationPreferences.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED, severity);
+ prefs.setSeverity(ELValidationPreferences.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING, severity);
+ prefs.setSeverity(ELValidationPreferences.MEMBER_NOT_FOUND, severity);
+ prefs.setSeverity(ELValidationPreferences.VARIABLE_NOT_FOUND, severity);
+ prefs.setSeverity(ELValidationPreferences.MISSING_CLOSING_EXPR_BRACKET, severity);
+ prefs.setSeverity(ELValidationPreferences.GENERAL_SYNTAX_ERROR, severity);
+ prefs.setSeverity(ELValidationPreferences.EMPTY_EL_EXPRESSION, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_VALUEB_NULL, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY, severity);
+ prefs.setSeverity(ELValidationPreferences.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME, severity);
+ prefs.setSeverity(ELValidationPreferences.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE, severity);
+ }
+ static void assertSetByKey(Severity severity, ELValidationPreferences prefs)
+ {
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_BOTH_OPERANDS_NULL));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_NO_AVAILABLE_TYPE_COERCION));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.TERNARY_OP_CHOICE_IS_ALWAYS_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.MEMBER_NOT_FOUND));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.VARIABLE_NOT_FOUND));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.MISSING_CLOSING_EXPR_BRACKET));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.GENERAL_SYNTAX_ERROR));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.EMPTY_EL_EXPRESSION));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_VALUEB_NULL));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME));
+ assertEquals(severity, prefs.getSeverity(ELValidationPreferences.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE));
+ }
+
+ static void assertExpectedDefaults(ELValidationPreferences prefs)
+ {
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_BOTH_OPERANDS_NULL_ID, Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_POSSIBLE_DIVISION_BY_ZERO_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID, Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_CONSTANT_EXPRESSION_ALWAYS_EVAL_SAME_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_EQUALITY_COMP_WITH_NULL_ALWAYS_EVAL_SAME_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_FIRST_ARGUMENT_SHORT_CIRCUITS_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_SECOND_ARGUMENT_ALWAYS_EVAL_SAME_ID, Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_NO_AVAILABLE_TYPE_COERCION_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COULD_NOT_COERCE_LITERALS_TO_NUMBERS_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_CONSTANT_EXPRESSION_EVAL_SAME_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_EMPTY_ALWAYS_FALSE_ON_TYPE_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_MINUS_ON_NULL_ALWAYS_ZERO_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_COULD_NOT_MAKE_NUMERIC_COERCION_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_CANNOT_COERCE_ARGUMENT_TO_BOOLEAN_ID,Diagnostic.WARNING); /* Bug 243674 */
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.TERNARY_OP_CHOICE_IS_ALWAYS_SAME_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.TERNARY_OP_CANNOT_COERCE_CHOICE_TO_BOOLEAN_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.UNARY_OP_STRING_CONVERSION_NOT_GUARANTEED_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.CANNOT_APPLY_OPERATOR_TO_METHOD_BINDING_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.MEMBER_NOT_FOUND_ID,Diagnostic.WARNING);
+ // everything below warning is mapped to ok for Severity enum
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.VARIABLE_NOT_FOUND_ID,Diagnostic.OK);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.MISSING_CLOSING_EXPR_BRACKET_ID,Diagnostic.ERROR);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.GENERAL_SYNTAX_ERROR_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.EMPTY_EL_EXPRESSION_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_DOT_WITH_VALUEB_NULL_ID, Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_DOT_WITH_DOTTED_KEY_SHOULD_USE_ARRAY_ID, Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.POSSIBLE_ARRAY_INDEX_OUT_OF_BOUNDS_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_COMPARISON_WITH_ENUM_ALWAYS_SAME_ID,Diagnostic.WARNING);
+ PrefTestUtil.assertSeverityLevel(prefs, DiagnosticFactory.BINARY_OP_COMPARISON_OF_ENUMS_INCOMPATIBLE_ID,Diagnostic.ERROR);
+ }
+}