Search in sources :

Example 1 with JSPContentSourceValidator

use of org.eclipse.jst.jsp.ui.internal.validation.JSPContentSourceValidator in project webtools.sourceediting by eclipse.

the class JSPHTMLValidatorTest method testRemoveAndAddBackCommentEndTag.

/**
 * Regression test for Bug 285285
 *
 * @see org.eclipse.wst.xml.ui.internal.validation.TestDelegatingSourceValidatorForXML#testRemoveAndAddBackCommentEndTag
 * @see org.eclipse.wst.html.ui.tests.validation.TestHTMLValidator#testRemoveAndAddBackCommentEndTag
 * @see org.eclipse.jst.jsp.ui.tests.validation.JSPHTMLValidatorTest#testRemoveAndAddBackCommentEndTag
 */
public void testRemoveAndAddBackCommentEndTag() throws Exception {
    JSPContentSourceValidator fValidator = new JSPContentSourceValidator();
    String projectName = "RemoveAndAddBackCommentEndTag";
    IProject project = ProjectUtil.createProject(projectName, JSPUITestsPlugin.getDefault().getStateLocation().append(getName()), null);
    IFile testFile = null;
    IStructuredModel model = null;
    try {
        // get test file
        ProjectUtil.copyBundleEntriesIntoWorkspace("testfiles/RemoveAndAddBackCommentEndTag", projectName);
        testFile = project.getFile("Test1.jsp");
        assertTrue("Test file " + testFile + " does not exist", testFile.exists());
        // get the document
        model = StructuredModelManager.getModelManager().getModelForEdit(testFile);
        IStructuredDocument document = model.getStructuredDocument();
        // set up for fValidator
        WorkbenchContext context = new WorkbenchContext();
        List fileList = new ArrayList();
        fileList.add(testFile.getFullPath().toPortableString());
        context.setValidationFileURIs(fileList);
        // validate clean file
        TestReporter reporter = new TestReporter();
        fValidator.validate(context, reporter);
        assertFalse("There should be no validation errors on " + testFile, reporter.isMessageReported());
        // need to dynamically find where the --> is because
        // its different on unix vs windows because of line endings
        String contents = document.get();
        int endCommentIndex = contents.indexOf("-->");
        // remove -->
        document.replace(endCommentIndex, 3, "");
        // validate file with error
        reporter = new TestReporter();
        fValidator.validate(context, reporter);
        assertTrue("There should be validation errors on " + testFile, reporter.isMessageReported());
        // replace -->
        document.replace(endCommentIndex, 0, "-->");
        // validate clean file
        reporter = new TestReporter();
        fValidator.validate(context, reporter);
        assertFalse("There should be no validation errors on " + testFile, reporter.isMessageReported());
    } finally {
        if (model != null) {
            model.releaseFromEdit();
        }
    }
    project.delete(true, null);
}
Also used : IFile(org.eclipse.core.resources.IFile) WorkbenchContext(org.eclipse.wst.validation.internal.operations.WorkbenchContext) ArrayList(java.util.ArrayList) IStructuredDocument(org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument) ArrayList(java.util.ArrayList) List(java.util.List) JSPContentSourceValidator(org.eclipse.jst.jsp.ui.internal.validation.JSPContentSourceValidator) IStructuredModel(org.eclipse.wst.sse.core.internal.provisional.IStructuredModel) IProject(org.eclipse.core.resources.IProject)

Aggregations

ArrayList (java.util.ArrayList)1 List (java.util.List)1 IFile (org.eclipse.core.resources.IFile)1 IProject (org.eclipse.core.resources.IProject)1 JSPContentSourceValidator (org.eclipse.jst.jsp.ui.internal.validation.JSPContentSourceValidator)1 IStructuredModel (org.eclipse.wst.sse.core.internal.provisional.IStructuredModel)1 IStructuredDocument (org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument)1 WorkbenchContext (org.eclipse.wst.validation.internal.operations.WorkbenchContext)1