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