spec/classpath_file_spec.rb in jbundler-0.5.5 vs spec/classpath_file_spec.rb in jbundler-0.6.0
- old
+ new
@@ -72,12 +72,12 @@
sleep 1
FileUtils.touch gfile_lock
subject.needs_update?(jarfile, gemfile_lock).must_equal true
end
- it 'generates a classpath ruby file' do
- subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR))
+ it 'generates a classpath ruby file without localrepo' do
+ subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR) )
File.read(cpfile).must_equal <<-EOF
JBUNDLER_JRUBY_CLASSPATH = []
JBUNDLER_JRUBY_CLASSPATH.freeze
JBUNDLER_TEST_CLASSPATH = []
JBUNDLER_TEST_CLASSPATH.freeze
@@ -86,9 +86,53 @@
JBUNDLER_CLASSPATH << 'b'
JBUNDLER_CLASSPATH << 'c'
JBUNDLER_CLASSPATH << 'd'
JBUNDLER_CLASSPATH << 'f'
JBUNDLER_CLASSPATH.freeze
-JBUNDLER_CLASSPATH.each { |c| require c }
EOF
+ end
+
+ it 'generates a classpath ruby file with localrepo' do
+ subject.generate("a:b:c:d:f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
+ File.read(cpfile).must_equal <<-EOF
+require 'jar_dependencies'
+JBUNDLER_LOCAL_REPO = Jars.home
+JBUNDLER_JRUBY_CLASSPATH = []
+JBUNDLER_JRUBY_CLASSPATH.freeze
+JBUNDLER_TEST_CLASSPATH = []
+JBUNDLER_TEST_CLASSPATH.freeze
+JBUNDLER_CLASSPATH = []
+JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'a')
+JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'b')
+JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'c')
+JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'd')
+JBUNDLER_CLASSPATH << (JBUNDLER_LOCAL_REPO + 'f')
+JBUNDLER_CLASSPATH.freeze
+EOF
+ end
+
+ it 'require classpath using default with generated localrepo' do
+ ENV[ 'JARS_HOME' ] = '/tmp'
+ Jars.reset
+ subject.generate("/a:/b:/c:/d:/f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
+ begin
+ subject.require_classpath
+ rescue LoadError
+ # there are no files to require
+ end
+ JBUNDLER_CLASSPATH.must_equal ["/tmp/a", "/tmp/b", "/tmp/c", "/tmp/d", "/tmp/f"]
+ end
+
+ it 'require classpath with generated localrepo' do
+ ENV[ 'JARS_HOME' ] = '/tmp'
+ subject.generate("/a:/b:/c:/d:/f:".split(File::PATH_SEPARATOR), [], [], '/tmp')
+
+ begin
+ Jars.reset
+ ENV[ 'JARS_HOME' ] = '/temp'
+ subject.require_classpath
+ rescue LoadError
+ # there are no files to require
+ end
+ JBUNDLER_CLASSPATH.must_equal ["/temp/a", "/temp/b", "/temp/c", "/temp/d", "/temp/f"]
end
end