[432978] Support nested at_begin vars Signed-off-by: Gregory Amerson <gregory.amerson@liferay.com>
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java index 47d3c16..a58d11d 100644 --- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java +++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/translation/JSPJavaTranslatorCoreTest.java
@@ -755,7 +755,9 @@ waitForBuildAndValidation(project); IFile file = project.getFile("/WebContent/test.jsp"); + IFile file2= project.getFile("/WebContent/test2.jsp"); IDOMModel structuredModel = null; + IDOMModel structuredModel2 = null; try { structuredModel = (IDOMModel) StructuredModelManager.getModelManager().getModelForRead(file); @@ -769,10 +771,26 @@ // the extra variable should only be declared once in the translated text assertEquals( 2, translation.split( "java.lang.Integer extra" ).length ); + + structuredModel2 = (IDOMModel) StructuredModelManager.getModelManager().getModelForRead(file2); + + ModelHandlerForJSP.ensureTranslationAdapterFactory(structuredModel2); + + JSPTranslationAdapter translationAdapter2 = (JSPTranslationAdapter) structuredModel2.getDocument().getAdapterFor(IJSPTranslation.class); + + final String translation2 = translationAdapter2.getJSPTranslation().getJavaText(); + + assertTrue( translation2.indexOf( "extra" ) != -1 ); + + // the extra variable should be declared twice because of the nested atbegin tags + assertEquals( 3, translation2.split( "java.lang.Integer extra" ).length ); } finally { if (structuredModel != null) structuredModel.releaseFromRead(); + + if (structuredModel2 != null) + structuredModel2.releaseFromRead(); } } }
diff --git a/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_432978/WebContent/test2.jsp b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_432978/WebContent/test2.jsp new file mode 100644 index 0000000..268f93d --- /dev/null +++ b/tests/org.eclipse.jst.jsp.core.tests/testfiles/bug_432978/WebContent/test2.jsp
@@ -0,0 +1,25 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<%@ taglib uri="http://eclipse.org/test" prefix="test" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Insert title here</title> +</head> +<body> + +<c:choose> + <c:when test="true"> + <test:atbegin> + </test:atbegin> + </c:when> + <c:otherwise> + <test:atbegin> + </test:atbegin> + </c:otherwise> +</c:choose> + +</body> +</html> \ No newline at end of file