Skip to content

Commit

Permalink
Make all tests pass on Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
aslakhellesoy committed Aug 19, 2011
1 parent f0bc25e commit 2129921
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 50 deletions.
45 changes: 0 additions & 45 deletions Gemfile.lock

This file was deleted.

2 changes: 1 addition & 1 deletion Rakefile
Expand Up @@ -4,7 +4,7 @@ require 'cucumber/rake/task'
task :generate do
Dir['*/Rakefile'].each do |rakefile|
Dir.chdir(File.dirname(rakefile)) do
sh "bundle exec rake generate"
puts `bundle exec rake generate`
end
end
end
Expand Down
15 changes: 11 additions & 4 deletions core/src/main/java/cucumber/classpath/Classpath.java
Expand Up @@ -118,11 +118,10 @@ public static <T> List<T> instantiateSubclasses(Class<T> type, String packagePre
}

private static void scanJar(URL jarDir, String pathPrefix, String suffix, Consumer consumer) {
String url = jarDir.toExternalForm();
String pathWithProtocol = url.substring(0, jarDir.toExternalForm().indexOf("!/"));
String[] segments = pathWithProtocol.split(":");
String jarUrl = jarDir.toExternalForm();
String path = filePath(jarUrl);
try {
ZipFile jarFile = new ZipFile(segments[2]);
ZipFile jarFile = new ZipFile(path);
Enumeration<? extends ZipEntry> entries = jarFile.entries();
while (entries.hasMoreElements()) {
ZipEntry jarEntry = entries.nextElement();
Expand All @@ -136,6 +135,14 @@ private static void scanJar(URL jarDir, String pathPrefix, String suffix, Consum
}
}

private static String filePath(String jarUrl) {
String pathWithProtocol = jarUrl.substring(0, jarUrl.indexOf("!/"));
String[] segments = pathWithProtocol.split(":");
// WINDOWS: jar:file:/C:/Users/ahellesoy/scm/cucumber-jvm/java/target/java-0.4.3-SNAPSHOT.jar
// POSIX: jar:file:/Users/ahellesoy/scm/cucumber-jvm/java/target/java-0.4.3-SNAPSHOT.jar
return segments.length == 4 ? segments[2].substring(1) + ":" + segments[3] : segments[2];
}

private static void scanFilesystem(URL startDir, String pathPrefix, String suffix, Consumer consumer) {
File dir = new File(startDir.getFile());
String rootPath = startDir.getFile().substring(0, startDir.getFile().length() - pathPrefix.length() - 1);
Expand Down

0 comments on commit 2129921

Please sign in to comment.