1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.codehaus.groovy.control;
20
21 import java.util.Iterator;
22
23 import org.jmock.Mock;
24 import org.jmock.cglib.MockObjectTestCase;
25
26 import groovy.lang.GroovyClassLoader;
27
28 public class CompilationUnitTest extends MockObjectTestCase {
29
30 public void testAppendsTheClasspathOfTheCompilerConfigurationToCurrentClassLoaderWhenInstantiated() {
31 CompilerConfiguration configuration = new CompilerConfiguration();
32 configuration.setClasspath(System.getProperty("java.class.path"));
33 new CompilationUnit(configuration, null, createGroovyClassLoaderWithExpectations(configuration));
34 }
35
36 private GroovyClassLoader createGroovyClassLoaderWithExpectations(CompilerConfiguration configuration) {
37 Mock mockGroovyClassLoader = mock(GroovyClassLoader.class);
38 for (Iterator iterator = configuration.getClasspath().iterator(); iterator.hasNext();) {
39 mockGroovyClassLoader.expects(once()).method("addClasspath").with(eq(iterator.next()));
40 }
41 return (GroovyClassLoader) mockGroovyClassLoader.proxy();
42 }
43 }