1   package com.atlassian.maven.plugins.amps.util;
2   
3   
4   import org.junit.Assert;
5   import org.junit.Test;
6   
7   public class JvmArgsFixTest
8   {
9   
10      private JvmArgsFix testDefaults = JvmArgsFix.empty().with("-Xmx", "512m").with("-XX:MaxPermSize=", "256m");
11  
12      @Test
13      public void testWithNullArgs() throws Exception
14      {
15          Assert.assertEquals("-Xmx512m -XX:MaxPermSize=256m", testDefaults.apply(null));
16      }
17  
18      @Test
19      public void testWithEmptyArgs() throws Exception
20      {
21          Assert.assertEquals("-Xmx512m -XX:MaxPermSize=256m", testDefaults.apply(""));
22      }
23  
24      @Test
25      public void testWithExistingUnrelated() throws Exception
26      {
27          Assert.assertEquals("-XmsSOMETHING -Xmx512m -XX:MaxPermSize=256m", testDefaults.apply("-XmsSOMETHING"));
28      }
29  
30      @Test
31      public void testWithMx() throws Exception
32      {
33          Assert.assertEquals("-XmxSOMETHING -XX:MaxPermSize=256m", testDefaults.apply("-XmxSOMETHING"));
34      }
35  
36      @Test
37      public void testWithBoth() throws Exception
38      {
39          Assert.assertEquals("-XmxSOMETHING -XX:MaxPermSize=SOMETHING", testDefaults.apply("-XmxSOMETHING -XX:MaxPermSize=SOMETHING"));
40      }
41  
42      @Test
43      public void testDefaults() throws Exception
44      {
45          // testing if what is put in defaults() is what is actually meant - plain text here
46           Assert.assertEquals("-Xmx512m -XX:MaxPermSize=256m", JvmArgsFix.defaults().apply(null));
47      }
48  
49      @Test
50      public void testDefaultsOverride() throws Exception
51      {
52           Assert.assertEquals("-XmxSOMETHING -XX:MaxPermSize=STH", JvmArgsFix.defaults().with("-XX:MaxPermSize=", "STH").apply("-XmxSOMETHING"));
53      }
54  }