You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/04/25 20:51:03 UTC
[maven] branch MNG-6819 updated: [MNG-6819] Unit test for
StringVisitorModelInterpolator NPE recursive expression cycle
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MNG-6819
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/MNG-6819 by this push:
new 9c46b06 [MNG-6819] Unit test for StringVisitorModelInterpolator NPE recursive expression cycle
9c46b06 is described below
commit 9c46b06bfc080ad51d2d5626114f47293693d05c
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Apr 25 22:50:42 2020 +0200
[MNG-6819] Unit test for StringVisitorModelInterpolator NPE recursive expression cycle
---
.../StringVisitorModelInterpolatorTest.java | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
new file mode 100644
index 0000000..3ad797b
--- /dev/null
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/StringVisitorModelInterpolatorTest.java
@@ -0,0 +1,33 @@
+package org.apache.maven.model.interpolation;
+
+import org.apache.maven.model.Model;
+import org.apache.maven.model.building.DefaultModelBuildingRequest;
+import org.apache.maven.model.building.SimpleProblemCollector;
+import org.junit.Test;
+
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class StringVisitorModelInterpolatorTest
+{
+ @Test
+ public void testNPE()
+ {
+ Properties props = new Properties();
+ props.setProperty( "aa", "${bb}" );
+ props.setProperty( "bb", "${aa}" );
+ DefaultModelBuildingRequest request = new DefaultModelBuildingRequest();
+
+ Model model = new Model();
+ model.setProperties( props );
+
+ SimpleProblemCollector collector = new SimpleProblemCollector();
+ StringVisitorModelInterpolator interpolator = new StringVisitorModelInterpolator();
+ interpolator.interpolateModel( model, null, request, collector );
+
+ assertEquals( "Expected no errors", 2, collector.getErrors().size() );
+ assertTrue( collector.getErrors().get( 0 ).contains( "Detected the following recursive expression cycle" ) );
+ }
+}
\ No newline at end of file