This is an automated email from the ASF dual-hosted git repository.
neilcsmith pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push:
new 7b755b85e3 Fix unit test on single file being reported as integration
test in some cases (GH4587)
new 52cb43c8c2 Merge pull request #5912 from neilcsmith-net/gh4587
7b755b85e3 is described below
commit 7b755b85e34810f4d763ee4f522678f4c5c7dd93
Author: Neil C Smith <[email protected]>
AuthorDate: Wed May 3 10:31:07 2023 +0100
Fix unit test on single file being reported as integration test in some
cases (GH4587)
Change isIntegrationTestTarget to use extractFileObjectsfromLookup() as
missing DataObject
conversion, and make sure an empty list returns false (due to use of
allMatch on empty stream).
---
.../maven/execute/DefaultReplaceTokenProvider.java | 11 ++++-----
.../execute/DefaultReplaceTokenProviderTest.java | 26 ++++++++++++++++++++++
2 files changed, 30 insertions(+), 7 deletions(-)
diff --git
a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java
b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java
index b6212bf21c..186a3bf618 100644
---
a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java
+++
b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java
@@ -30,6 +30,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.netbeans.api.annotations.common.CheckForNull;
import org.netbeans.api.java.project.JavaProjectConstants;
import org.netbeans.api.java.queries.UnitTestForSourceQuery;
@@ -359,13 +360,9 @@ public class DefaultReplaceTokenProvider implements
ReplaceTokenProvider, Action
}
private boolean isIntegrationTestTarget(Lookup lookup) {
- final SingleMethod targetMethod = lookup.lookup(SingleMethod.class);
//JavaDataObject
- if (targetMethod != null) {
- return isIntegrationTestFile(targetMethod.getFile());
- }
- final Collection<? extends FileObject> targetFiles =
lookup.lookupAll(FileObject.class);
- if (targetFiles != null) {
- return targetFiles.stream().allMatch(file ->
isIntegrationTestFile(file));
+ FileObject[] targetFiles = extractFileObjectsfromLookup(lookup);
+ if (targetFiles.length > 0) {
+ return Stream.of(targetFiles).allMatch(file ->
isIntegrationTestFile(file));
}
return false;
}
diff --git
a/java/maven/test/unit/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProviderTest.java
b/java/maven/test/unit/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProviderTest.java
index 394a23f22d..f023b38b5f 100644
---
a/java/maven/test/unit/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProviderTest.java
+++
b/java/maven/test/unit/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProviderTest.java
@@ -28,6 +28,7 @@ import org.netbeans.spi.project.ActionProvider;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.filesystems.test.TestFileUtils;
+import org.openide.loaders.DataObject;
import org.openide.util.Lookup;
import org.openide.util.lookup.Lookups;
@@ -73,6 +74,31 @@ public class DefaultReplaceTokenProviderTest extends
NbTestCase {
assertEquals(null, ActionProviderImpl.replacements(p,
ActionProvider.COMMAND_RUN,
Lookup.EMPTY).get(DefaultReplaceTokenProvider.CLASSNAME_EXT));
}
+
+ public void testTestNotIT_GH4587() throws Exception {
+ TestFileUtils.writeFile(d, "pom.xml",
"<project><modelVersion>4.0.0</modelVersion>"
+ +
"<groupId>g</groupId><artifactId>a</artifactId><version>0</version></project>");
+ TestFileUtils.writeFile(d, "src/test/java/p1/FirstTest.java", "package
p1; class FirstTest {}");
+ TestFileUtils.writeFile(d, "src/test/java/p1/FirstIT.java", "package
p1; class FirstIT {}");
+ Project p = ProjectManager.getDefault().findProject(d);
+ DefaultReplaceTokenProvider instance = new
DefaultReplaceTokenProvider(p);
+ FileObject file = d.getFileObject("src/test/java/p1/FirstTest.java");
+ String converted =
instance.convert(ActionProvider.COMMAND_TEST_SINGLE, Lookups.singleton(file));
+ assertNull(converted);
+ converted = instance.convert(ActionProvider.COMMAND_DEBUG_TEST_SINGLE,
Lookups.singleton(file));
+ assertNull(converted);
+ DataObject dob = DataObject.find(file);
+ converted = instance.convert(ActionProvider.COMMAND_TEST_SINGLE,
Lookups.singleton(dob));
+ assertNull(converted);
+ converted = instance.convert(ActionProvider.COMMAND_DEBUG_TEST_SINGLE,
Lookups.singleton(dob));
+ assertNull(converted);
+ file = d.getFileObject("src/test/java/p1/FirstIT.java");
+ converted = instance.convert(ActionProvider.COMMAND_TEST_SINGLE,
Lookups.singleton(file));
+ assertEquals(ActionProviderImpl.COMMAND_INTEGRATION_TEST_SINGLE,
converted);
+ dob = DataObject.find(file);
+ converted = instance.convert(ActionProvider.COMMAND_TEST_SINGLE,
Lookups.singleton(dob));
+ assertEquals(ActionProviderImpl.COMMAND_INTEGRATION_TEST_SINGLE,
converted);
+ }
public void testNgSingle() throws Exception {
TestFileUtils.writeFile(d, "pom.xml",
"<project><modelVersion>4.0.0</modelVersion>"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists