Search in sources :

Example 1 with ValidationState

use of org.eclipse.wst.validation.ValidationState in project webtools.sourceediting by eclipse.

the class JSPBatchValidatorTest method testFragmentValidationPreferenceOnProject.

public void testFragmentValidationPreferenceOnProject() throws Exception {
    JSPBatchValidator validator1 = new JSPBatchValidator();
    JSPContentValidator validator2 = new JSPContentValidator();
    String filePath = "/" + PROJECT_NAME + "/WebContent/header.jspf";
    ValidationResult result = null;
    IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
    // enable workspace-wide but disable in project, no problem markers
    // expected
    workspaceScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, true);
    projectScope.putBoolean(JSPCorePreferenceNames.VALIDATION_USE_PROJECT_SETTINGS, true);
    projectScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, false);
    result = validator1.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor());
    result.mergeResults(validator2.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor()));
    assertEquals("Problems found while fragment validation was disabled in project but enabled on workspace", 0, (((ReporterHelper) result.getReporter(null)).getMessages().size()));
    /*
		 * disable workspace-wide but enable in project, some problem markers
		 * expected
		 */
    workspaceScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, false);
    projectScope.putBoolean(JSPCorePreferenceNames.VALIDATION_USE_PROJECT_SETTINGS, true);
    projectScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, true);
    JSPFContentProperties.setProperty(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, file, Boolean.toString(true));
    result = validator1.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor());
    result.mergeResults(validator2.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor()));
    assertTrue("Problems not found while fragment validation was enabled for project but disabled on workspace", 0 < (((ReporterHelper) result.getReporter(null)).getMessages().size()));
}
Also used : Path(org.eclipse.core.runtime.Path) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) ValidationState(org.eclipse.wst.validation.ValidationState) IFile(org.eclipse.core.resources.IFile) JSPBatchValidator(org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator) JSPContentValidator(org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator) ValidationResult(org.eclipse.wst.validation.ValidationResult) ReporterHelper(org.eclipse.wst.validation.ReporterHelper)

Example 2 with ValidationState

use of org.eclipse.wst.validation.ValidationState in project webtools.sourceediting by eclipse.

the class JSPBatchValidatorTest method testFragmentValidationPreferenceOnWorkspace.

public void testFragmentValidationPreferenceOnWorkspace() throws Exception {
    JSPBatchValidator validator1 = new JSPBatchValidator();
    JSPContentValidator validator2 = new JSPContentValidator();
    String filePath = "/" + PROJECT_NAME + "/WebContent/header.jspf";
    IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(filePath));
    ValidationResult result = null;
    // disable workspace-wide, no problem markers expected
    workspaceScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, false);
    result = validator1.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor());
    result.mergeResults(validator2.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor()));
    assertEquals("Problem markers found while fragment validation was disabled", 0, (((ReporterHelper) result.getReporter(null)).getMessages().size()));
    // enable workspace-wide, some problem markers expected
    workspaceScope.putBoolean(JSPCorePreferenceNames.VALIDATE_FRAGMENTS, true);
    ValidationFramework.getDefault().validate(new IProject[] { getProject() }, true, false, new NullProgressMonitor());
    ValidationFramework.getDefault().join(new NullProgressMonitor());
    result = validator1.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor());
    result.mergeResults(validator2.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor()));
    assertTrue("Problem markers not found while fragment validation was enabled on workspace", (((ReporterHelper) result.getReporter(null)).getMessages().size()) != 0);
    // check default value is true
    workspaceScope.remove(JSPCorePreferenceNames.VALIDATE_FRAGMENTS);
    projectScope.remove(JSPCorePreferenceNames.VALIDATE_FRAGMENTS);
    projectScope.remove(JSPCorePreferenceNames.VALIDATION_USE_PROJECT_SETTINGS);
    result = validator1.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor());
    result.mergeResults(validator2.validate(file, IResourceDelta.CHANGED, new ValidationState(), new NullProgressMonitor()));
    assertTrue("Problem markers not found while fragment validation was preferences were default", (((ReporterHelper) result.getReporter(null)).getMessages().size()) != 0);
}
Also used : Path(org.eclipse.core.runtime.Path) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) ValidationState(org.eclipse.wst.validation.ValidationState) IFile(org.eclipse.core.resources.IFile) JSPBatchValidator(org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator) JSPContentValidator(org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator) ValidationResult(org.eclipse.wst.validation.ValidationResult) ReporterHelper(org.eclipse.wst.validation.ReporterHelper)

Example 3 with ValidationState

use of org.eclipse.wst.validation.ValidationState in project webtools.sourceediting by eclipse.

the class JSPDirectiveValidatorTest method runNegativeTest.

/**
 * The purpose of a validator is to generate messages.  Let us make sure the expected messages are generated.
 * @param filePath
 * @param content
 * @param validator
 * @param expectedProblemMessages
 * @throws Exception
 */
protected void runNegativeTest(String filePath, String content, AbstractValidator validator, String expectedProblemMessages) throws Exception {
    IPath path = new Path(filePath);
    IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.segment(0));
    if (!project.exists()) {
        BundleResourceUtil.createJavaWebProject(path.segment(0));
    }
    ResourcesPlugin.getWorkspace().checkpoint(true);
    IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
    file.create(new ByteArrayInputStream(content.getBytes("utf8")), true, null);
    ValidationResult result = validator.validate(file, IResourceDelta.ADDED, new ValidationState(), new NullProgressMonitor());
    assertEquals(expectedProblemMessages, sortMessages(result.getReporter(new NullProgressMonitor()).getMessages()));
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) ValidationState(org.eclipse.wst.validation.ValidationState) IFile(org.eclipse.core.resources.IFile) IPath(org.eclipse.core.runtime.IPath) ByteArrayInputStream(java.io.ByteArrayInputStream) ValidationResult(org.eclipse.wst.validation.ValidationResult) IProject(org.eclipse.core.resources.IProject)

Aggregations

IFile (org.eclipse.core.resources.IFile)3 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)3 Path (org.eclipse.core.runtime.Path)3 ValidationResult (org.eclipse.wst.validation.ValidationResult)3 ValidationState (org.eclipse.wst.validation.ValidationState)3 JSPBatchValidator (org.eclipse.jst.jsp.core.internal.validation.JSPBatchValidator)2 JSPContentValidator (org.eclipse.jst.jsp.core.internal.validation.JSPContentValidator)2 ReporterHelper (org.eclipse.wst.validation.ReporterHelper)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 IProject (org.eclipse.core.resources.IProject)1 IPath (org.eclipse.core.runtime.IPath)1