Stop using deprecated AbstractSingleProjectSearchTests. Change-Id: I9a3ff33a3e2be9f563753beb9ad7ca226a2545ff Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs index 43df84b..fbac55c 100644 --- a/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs +++ b/tests/org.eclipse.dltk.ruby.core.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -13,11 +13,11 @@ sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_functional_interfaces=true sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=true -sp_cleanup.format_source_code_changes_only=true +sp_cleanup.format_source_code_changes_only=false sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=true sp_cleanup.make_parameters_final=false
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java index b6a3fbb..2809f21 100755 --- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java +++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/Activator.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2016 IBM Corporation and others. + * Copyright (c) 2005, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,12 +8,24 @@ *******************************************************************************/ package org.eclipse.dltk.ruby.core.tests; +import static org.junit.Assert.assertNotNull; + import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.Plugin; +import org.eclipse.dltk.core.IDLTKLanguageToolkit; +import org.eclipse.dltk.core.IScriptProject; +import org.eclipse.dltk.core.search.IDLTKSearchScope; +import org.eclipse.dltk.core.search.SearchEngine; +import org.eclipse.dltk.core.search.SearchParticipant; +import org.eclipse.dltk.core.search.SearchPattern; +import org.eclipse.dltk.core.tests.IDLTKSearchConstantsForTests; +import org.eclipse.dltk.core.tests.WorkspaceSetup; +import org.eclipse.dltk.core.tests.model.TestSearchResults; import org.osgi.framework.BundleContext; /** @@ -24,9 +36,11 @@ // The plug-in ID public static final String PLUGIN_ID = "org.eclipse.dltk.ruby.core.tests"; + public static final WorkspaceSetup WORKSPACE = new WorkspaceSetup(Activator.PLUGIN_ID); + // The shared instance private static Activator plugin; - + /** * The constructor */ @@ -35,11 +49,6 @@ } @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - @Override public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); @@ -53,8 +62,26 @@ public static Activator getDefault() { return plugin; } + public static InputStream openResource(String path) throws IOException { URL url = getDefault().getBundle().getEntry(path); - return new BufferedInputStream(url.openStream()); + return new BufferedInputStream(url.openStream()); + } + + public static TestSearchResults search(String patternString, int searchFor, int limitTo, IScriptProject project) + throws CoreException { + final IDLTKSearchScope scope = SearchEngine.createSearchScope(project.getScriptProject()); + int matchRule = IDLTKSearchConstantsForTests.EXACT_RULE; + if (patternString.indexOf('*') != -1 || patternString.indexOf('?') != -1) { + matchRule |= SearchPattern.R_PATTERN_MATCH; + } + final IDLTKLanguageToolkit toolkit = scope.getLanguageToolkit(); + final SearchPattern pattern = SearchPattern.createPattern(patternString, searchFor, limitTo, matchRule, + toolkit); + assertNotNull("Pattern should not be null", pattern); + final TestSearchResults results = new TestSearchResults(); + final SearchParticipant[] participants = new SearchParticipant[] { SearchEngine.getDefaultSearchParticipant() }; + new SearchEngine().search(pattern, participants, scope, results, null); + return results; } }
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java index 155348a..4d27001 100644 --- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java +++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyFullNameSearchTests.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 xored software, Inc. + * Copyright (c) 2008, 2017 xored software, Inc. and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -11,81 +11,85 @@ *******************************************************************************/ package org.eclipse.dltk.ruby.core.tests.search; +import static org.eclipse.dltk.ruby.core.tests.Activator.search; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import org.eclipse.dltk.core.IMethod; import org.eclipse.dltk.core.ISourceModule; import org.eclipse.dltk.core.IType; -import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests; +import org.eclipse.dltk.core.search.IDLTKSearchConstants; +import org.eclipse.dltk.core.tests.ProjectSetup; import org.eclipse.dltk.core.tests.model.TestSearchResults; import org.eclipse.dltk.ruby.core.tests.Activator; +import org.junit.ClassRule; +import org.junit.Test; -public class RubyFullNameSearchTests extends AbstractSingleProjectSearchTests { +public class RubyFullNameSearchTests implements IDLTKSearchConstants { - public RubyFullNameSearchTests(String name) { - super(Activator.PLUGIN_ID, name, "search"); - } - - public static Suite suite() { - return new Suite(RubyFullNameSearchTests.class); - } + @ClassRule + public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search"); private final String shortTypeName = "Search002"; private final String fullTypeName = "Module001::" + shortTypeName; private final String methodName = "method003"; + @Test public void testFullTypeNameSearch() throws Exception { - final TestSearchResults results = search(fullTypeName, TYPE, - DECLARATIONS); + final TestSearchResults results = search(fullTypeName, TYPE, DECLARATIONS, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertType(fullTypeName); } + @Test public void testFullTypeReferenceSearch() throws Exception { - final TestSearchResults results = search(fullTypeName, TYPE, REFERENCES); + final TestSearchResults results = search(fullTypeName, TYPE, REFERENCES, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertExists(ISourceModule.class, "Search001.rb"); } + @Test public void testSuperClassReferenceSearch1() throws Exception { - final TestSearchResults results = search("Parent001", TYPE, REFERENCES); + final TestSearchResults results = search("Parent001", TYPE, REFERENCES, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertExists(IType.class, "Child001"); } + @Test public void testSuperClassReferenceSearch2() throws Exception { - final TestSearchResults results = search("Parent002", TYPE, REFERENCES); + final TestSearchResults results = search("Parent002", TYPE, REFERENCES, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertExists(IType.class, "Child002"); } + @Test public void testShortTypeNameSearch() throws Exception { - final TestSearchResults results = search(shortTypeName, TYPE, - DECLARATIONS); + final TestSearchResults results = search(shortTypeName, TYPE, DECLARATIONS, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertType(fullTypeName); } + @Test public void testShortMethodNameSearch() throws Exception { - final TestSearchResults results = search(methodName, METHOD, - DECLARATIONS); + final TestSearchResults results = search(methodName, METHOD, DECLARATIONS, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertMethod(methodName); IMethod method = (IMethod) results.locate(IMethod.class, methodName); assertNotNull(method); assertNotNull(method.getParent()); - assertEquals(fullTypeName, ((IType) method.getParent()) - .getTypeQualifiedName("::")); + assertEquals(fullTypeName, ((IType) method.getParent()).getTypeQualifiedName("::")); } + @Test public void testFullMethodNameSearch() throws Exception { - final TestSearchResults results = search(fullTypeName + "::" - + methodName, METHOD, DECLARATIONS); + final TestSearchResults results = search(fullTypeName + "::" + methodName, METHOD, DECLARATIONS, + PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertMethod(methodName); IMethod method = (IMethod) results.locate(IMethod.class, methodName); assertNotNull(method); assertNotNull(method.getParent()); - assertEquals(fullTypeName, ((IType) method.getParent()) - .getTypeQualifiedName("::")); + assertEquals(fullTypeName, ((IType) method.getParent()).getTypeQualifiedName("::")); } }
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java index 3476d13..1ab3c90 100644 --- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java +++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubyMethodSearchTests.java
@@ -1,48 +1,50 @@ /******************************************************************************* - * Copyright (c) 2009 xored software, Inc. + * Copyright (c) 2009, 2017 xored software, Inc. and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * xored software, Inc. - initial API and Implementation (Alex Panchenko) *******************************************************************************/ package org.eclipse.dltk.ruby.core.tests.search; -import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests; +import static org.eclipse.dltk.ruby.core.tests.Activator.search; +import static org.junit.Assert.assertEquals; + +import org.eclipse.dltk.core.search.IDLTKSearchConstants; +import org.eclipse.dltk.core.tests.ProjectSetup; import org.eclipse.dltk.core.tests.model.TestSearchResults; import org.eclipse.dltk.ruby.core.tests.Activator; +import org.junit.ClassRule; +import org.junit.Test; -public class RubyMethodSearchTests extends AbstractSingleProjectSearchTests { +public class RubyMethodSearchTests implements IDLTKSearchConstants { - public RubyMethodSearchTests(String name) { - super(Activator.PLUGIN_ID, name, "search-methods"); - } - - public static Suite suite() { - return new Suite(RubyMethodSearchTests.class); - } + @ClassRule + public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search-methods"); private final String methodName = "method001"; + @Test public void testDeclarations() throws Exception { - final TestSearchResults results = search(methodName, METHOD, - DECLARATIONS); + final TestSearchResults results = search(methodName, METHOD, DECLARATIONS, PROJECT.getScriptProject()); assertEquals(2, results.size()); // results.assertType(className); } + @Test public void testReferences() throws Exception { - final TestSearchResults results = search(methodName, METHOD, REFERENCES); + final TestSearchResults results = search(methodName, METHOD, REFERENCES, PROJECT.getScriptProject()); assertEquals(2, results.size()); // results.assertSourceModule(fileName); } + @Test public void testAllOccurences() throws Exception { - final TestSearchResults results = search(methodName, METHOD, - ALL_OCCURRENCES); + final TestSearchResults results = search(methodName, METHOD, ALL_OCCURRENCES, PROJECT.getScriptProject()); assertEquals(4, results.size()); // results.assertSourceModule(fileName); // results.assertType(className);
diff --git a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java index 80f0706..81e3979 100644 --- a/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java +++ b/tests/org.eclipse.dltk.ruby.core.tests/src/org/eclipse/dltk/ruby/core/tests/search/RubySearchTests.java
@@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 IBM Corporation and others. + * Copyright (c) 2005, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,44 +7,46 @@ * * Contributors: * xored software, Inc. - initial API and Implementation - * xored software, Inc. - Search All occurences bugfix, + * xored software, Inc. - Search All occurences bugfix, * hilight only class name when class is in search results ( Alex Panchenko <alex@xored.com>) *******************************************************************************/ - package org.eclipse.dltk.ruby.core.tests.search; -import org.eclipse.dltk.core.tests.model.AbstractSingleProjectSearchTests; +import static org.eclipse.dltk.ruby.core.tests.Activator.search; +import static org.junit.Assert.assertEquals; + +import org.eclipse.dltk.core.search.IDLTKSearchConstants; +import org.eclipse.dltk.core.tests.ProjectSetup; import org.eclipse.dltk.core.tests.model.TestSearchResults; import org.eclipse.dltk.ruby.core.tests.Activator; +import org.junit.ClassRule; +import org.junit.Test; -public class RubySearchTests extends AbstractSingleProjectSearchTests { +public class RubySearchTests implements IDLTKSearchConstants { - public RubySearchTests(String name) { - super(Activator.PLUGIN_ID, name, "search"); - } - - public static Suite suite() { - return new Suite(RubySearchTests.class); - } + @ClassRule + public static final ProjectSetup PROJECT = new ProjectSetup(Activator.WORKSPACE, "search"); private final String fileName = "Search001.rb"; private final String className = "Search001"; + @Test public void testDeclarations() throws Exception { - final TestSearchResults results = search(className, TYPE, DECLARATIONS); + final TestSearchResults results = search(className, TYPE, DECLARATIONS, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertType(className); } + @Test public void testReferences() throws Exception { - final TestSearchResults results = search(className, TYPE, REFERENCES); + final TestSearchResults results = search(className, TYPE, REFERENCES, PROJECT.getScriptProject()); assertEquals(1, results.size()); results.assertSourceModule(fileName); } + @Test public void testAllOccurences() throws Exception { - final TestSearchResults results = search(className, TYPE, - ALL_OCCURRENCES); + final TestSearchResults results = search(className, TYPE, ALL_OCCURRENCES, PROJECT.getScriptProject()); assertEquals(2, results.size()); results.assertSourceModule(fileName); results.assertType(className);