1 package org.codehaus.classworlds;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 import junit.framework.TestCase;
50
51 import java.io.File;
52 import java.io.FileInputStream;
53
54 public class LauncherTest
55 extends TestCase
56 {
57 private Launcher launcher;
58
59 public LauncherTest( String name )
60 {
61 super( name );
62 }
63
64 public void setUp()
65 {
66 System.setProperty( "java.protocol.handler.pkgs", "org.codehaus.classworlds.protocol" );
67
68 this.launcher = new Launcher();
69 }
70
71 public void tearDown()
72 {
73 this.launcher = null;
74 }
75
76 public void testConfigure_Valid() throws Exception
77 {
78 launcher.configure( getConfigPath( "valid-launch.conf" ) );
79
80 Class mainClass = launcher.getMainClass();
81
82 assertNotNull( mainClass );
83
84 assertEquals( "a.A", mainClass.getName() );
85
86 assertEquals( "app", launcher.getMainRealm().getId() );
87 }
88
89 public void testLaunch_ValidStandard() throws Exception
90 {
91 launcher.configure( getConfigPath( "valid-launch.conf" ) );
92
93 launcher.launch( new String[]{} );
94 }
95
96 public void testLaunch_ValidStandardExitCode() throws Exception
97 {
98 launcher.configure( getConfigPath( "valid-launch-exitCode.conf" ) );
99
100 launcher.launch( new String[]{} );
101
102 assertEquals( "check exit code", 15, launcher.getExitCode() );
103 }
104
105 public void testLaunch_ValidEnhanced() throws Exception
106 {
107 launcher.configure( getConfigPath( "valid-enh-launch.conf" ) );
108
109 launcher.launch( new String[]{} );
110 }
111
112 public void testLaunch_ValidEnhancedExitCode() throws Exception
113 {
114 launcher.configure( getConfigPath( "valid-enh-launch-exitCode.conf" ) );
115
116 launcher.launch( new String[]{} );
117
118 assertEquals( "check exit code", 45, launcher.getExitCode() );
119 }
120
121 public void testLaunch_NoSuchMethod() throws Exception
122 {
123 launcher.configure( getConfigPath( "launch-nomethod.conf" ) );
124
125 try
126 {
127 launcher.launch( new String[]{} );
128 fail( "should have thrown NoSuchMethodException" );
129 }
130 catch ( NoSuchMethodException e )
131 {
132
133 }
134 }
135
136 public void testLaunch_ClassNotFound() throws Exception
137 {
138 launcher.configure( getConfigPath( "launch-noclass.conf" ) );
139
140 try
141 {
142 launcher.launch( new String[]{} );
143 fail( "throw ClassNotFoundException" );
144 }
145 catch ( ClassNotFoundException e )
146 {
147
148 }
149 }
150
151 private FileInputStream getConfigPath( String name )
152 throws Exception
153 {
154 return new FileInputStream( new File( new File( System.getProperty( "basedir" ), "src/test-data" ), name ) );
155 }
156 }