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);
}
Aggregations