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

Reply via email to