[204990] JSP/Web Page Editors: tag files do not support content assist on html element attributes
diff --git a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/contentmodels/TestTaglibCMTests.java b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/contentmodels/TestTaglibCMTests.java
index 557a1e4..1ba3a33 100644
--- a/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/contentmodels/TestTaglibCMTests.java
+++ b/tests/org.eclipse.jst.jsp.core.tests/src/org/eclipse/jst/jsp/core/tests/contentmodels/TestTaglibCMTests.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.jst.jsp.core.tests.contentmodels;
+import java.io.ByteArrayInputStream;
import java.io.IOException;
import junit.framework.Test;
@@ -134,4 +135,34 @@
}
}
}
+
+ public void testTagFileHasHTMLContentModel() throws IOException, CoreException {
+ String DPROJECT_NAME = getName();
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(DPROJECT_NAME);
+ if (!project.exists()) {
+ // Create new project
+ project = BundleResourceUtil.createSimpleProject(DPROJECT_NAME, null, null);
+ }
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+
+ IFile tagFile = project.getFile("test1.tag");
+ assertTrue("test file " + tagFile.getFullPath() + " exists", !tagFile.exists());
+ tagFile.create(new ByteArrayInputStream(new byte[0]), IResource.FORCE, null);
+ assertTrue("test file " + tagFile.getFullPath() + " does not exist", tagFile.exists());
+
+ IDOMModel model = null;
+ try {
+ model = (IDOMModel) StructuredModelManager.getModelManager().getModelForEdit(tagFile);
+ model.getStructuredDocument().set("<b/>");
+ ModelQueryAdapter modelQueryAdapter = (ModelQueryAdapter) ((INodeNotifier) model.getDocument().getDocumentElement()).getAdapterFor(ModelQueryAdapter.class);
+ CMElementDeclaration declaration = modelQueryAdapter.getModelQuery().getCMElementDeclaration(model.getDocument().getDocumentElement());
+ assertNotNull("no CMElementDeclaration for 'b'", declaration);
+ }
+ finally {
+ if (model != null) {
+ model.releaseFromEdit();
+ }
+ }
+ project.delete(true, null);
+ }
}