Ryan Nelson created JBEHAVE-747: ----------------------------------- Summary: codeLocationFromPath breaks for paths with spaces Key: JBEHAVE-747 URL: https://jira.codehaus.org/browse/JBEHAVE-747 Project: JBehave Issue Type: Bug Components: Core, Core Examples Affects Versions: 3.5.4 Environment: Windows 7 Enterprise 64-bit, Version 6.1 (Build 7600) Ubuntu Linux 10.04.3 LTS Reporter: Ryan Nelson Priority: Minor
I discovered this in the Guice examples, but it's not a problem limited to Guice. Take this code that searches for stories: new StoryFinder().findPaths( CodeLocations.codeLocationFromPath( "resources" ).getFile(), asList( "**/*.story" ), null ); If the "resources" folder resides in a base path that contains a space, the StoryFinder will fail to locate the stories. This is because codeLocationFromPath() uses a java.net.URL object under-the-hood to URL encode the path, converting spaces to %20. Thus, jBehave will look here: c:\jbehave\folder%20with%20spaces\resources for stories located here: c:\jbehave\folder with spaces\resources This is also a problem for reports. If relative paths are used in any form, when jBehave converts them to full paths, the paths are URL-encoded. This in turn causes our Hudson builds to fail because it cannot locate the reports. The workaround for this is to not use CodeLocations to locate stories, and to use a Hudson project with no spaces, but jBehave really should support paths with spaces. This occurs on both Windows and Linux. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email