1 /******************************************************************************* 2 * Copyright (c) 2005, 2017 IBM Corporation and others. 3 * 4 * This program and the accompanying materials 5 * are made available under the terms of the Eclipse Public License 2.0 6 * which accompanies this distribution, and is available at 7 * https://www.eclipse.org/legal/epl-2.0/ 8 * 9 * SPDX-License-Identifier: EPL-2.0 10 * 11 * Contributors: 12 * IBM Corporation - initial API and implementation 13 *******************************************************************************/ 14 package org.eclipse.ui.tests.markers; 15 import java.util.List; 16 17 import org.eclipse.ui.views.markers.internal.MarkerFilter; 18 import org.eclipse.ui.views.markers.internal.MarkerType; 19 import org.eclipse.ui.views.markers.internal.ProblemFilter; 20 import org.junit.Test; 21 import org.junit.runner.RunWith; 22 import org.junit.runners.JUnit4; 23 24 @RunWith(JUnit4.class) 25 public class DeclarativeFilterDeclarationTest extends DeclarativeFilterTest { 26 27 /** 28 * The DeclarativeFilterActivityTest is a test that the 29 * declarative filters are removed by activities 30 */ DeclarativeFilterDeclarationTest()31 public DeclarativeFilterDeclarationTest() { 32 super(DeclarativeFilterDeclarationTest.class.getSimpleName()); 33 } 34 35 /** 36 * Test the filter on any error. 37 */ 38 @Test testAnyErrorFilter()39 public void testAnyErrorFilter() { 40 String filterName = PROBLEM_TEST_ON_ANY_ERROR; 41 ProblemFilter filter = getFilter(filterName); 42 assertTrue(filterName + " not found ", filter != null); 43 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 44 assertTrue(filterName + "not selecting by severity", filter 45 .getSelectBySeverity()); 46 assertTrue(filterName + "should be on error", 47 filter.getSeverity() == ProblemFilter.SEVERITY_ERROR); 48 assertTrue(filterName + "should be on any", 49 filter.getOnResource() == MarkerFilter.ON_ANY); 50 } 51 52 /** 53 * Test the filter on selected warning. 54 */ 55 @Test testSelectedWarning()56 public void testSelectedWarning() { 57 String filterName = PROBLEM_TEST_ON_SELECTED_WARNING; 58 ProblemFilter filter = getFilter(filterName); 59 assertTrue(filterName + " not found ", filter != null); 60 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 61 assertTrue(filterName + "not selecting by severity", filter 62 .getSelectBySeverity()); 63 assertTrue(filterName + "should be on warning", 64 filter.getSeverity() == ProblemFilter.SEVERITY_WARNING); 65 assertTrue(filterName + "should be on selected only", filter 66 .getOnResource() == MarkerFilter.ON_SELECTED_ONLY); 67 } 68 69 /** 70 * Test the filter on selected and children infos. 71 */ 72 @Test testInfoAndChildren()73 public void testInfoAndChildren() { 74 String filterName = PROBLEM_TEST_INFO_AND_CHILDREN; 75 ProblemFilter filter = getFilter(filterName); 76 assertTrue(filterName + " not found ", filter != null); 77 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 78 assertTrue(filterName + "not selecting by severity", filter 79 .getSelectBySeverity()); 80 assertTrue(filterName + "should be on info", 81 filter.getSeverity() == ProblemFilter.SEVERITY_INFO); 82 assertTrue(filterName + "should be on selected and children", filter 83 .getOnResource() == MarkerFilter.ON_SELECTED_AND_CHILDREN); 84 } 85 86 /** 87 * Test the filter on same container. 88 */ 89 @Test testSameContainer()90 public void testSameContainer() { 91 String filterName = PROBLEM_TEST_SAME_CONTAINER_NO_SEVERITY; 92 ProblemFilter filter = getFilter(filterName); 93 assertTrue(filterName + " not found ", filter != null); 94 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 95 assertFalse(filterName + "selecting by severity", filter 96 .getSelectBySeverity()); 97 assertTrue(filterName + "should be on on any in same container", filter 98 .getOnResource() == MarkerFilter.ON_ANY_IN_SAME_CONTAINER); 99 } 100 101 /** 102 * Test the filter on description. 103 */ 104 @Test testDescription()105 public void testDescription() { 106 String filterName = PROBLEM_TEST_ON_METHOD; 107 ProblemFilter filter = getFilter(filterName); 108 assertTrue(filterName + " not found ", filter != null); 109 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 110 assertTrue(filterName + "does not have description", !filter 111 .getDescription().isEmpty()); 112 assertTrue(filterName + "not checking contains", filter.getContains()); 113 } 114 115 /** 116 * Test the filter not on description. 117 */ 118 @Test testNotOnDescription()119 public void testNotOnDescription() { 120 String filterName = PROBLEM_TEST_NOT_ON_METHOD; 121 ProblemFilter filter = getFilter(filterName); 122 assertTrue(filterName + " not found ", filter != null); 123 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 124 assertTrue(filterName + "does not have description", !filter 125 .getDescription().isEmpty()); 126 assertFalse(filterName + "checking contains", filter.getContains()); 127 } 128 129 /** 130 * Test the filter on problem types. 131 */ 132 @Test testProblemTypes()133 public void testProblemTypes() { 134 String filterName = PROBLEM_TEST_ON_PROBLEM; 135 ProblemFilter filter = getFilter(filterName); 136 assertTrue(filterName + " not found ", filter != null); 137 assertTrue(filterName + " is enabled ", !filter.isEnabled()); 138 List<MarkerType> types = filter.getSelectedTypes(); 139 assertTrue( 140 filterName + "should only have one type has " + types.size(), 141 types.size() == 1); 142 assertTrue(filterName + "should be enabled for category test", 143 types.get(0).getId().equals( 144 "org.eclipse.ui.tests.categoryTestMarker")); 145 } 146 147 } 148