Ricardo Lopez created JBEHAVE-763:
-------------------------------------
Summary: LoadFromRelativeFile break on windows when using maven
traversal
Key: JBEHAVE-763
URL: https://jira.codehaus.org/browse/JBEHAVE-763
Project: JBehave
Issue Type: Bug
Components: Core
Affects Versions: 3.6.1
Environment: Windows Vista
Reporter: Ricardo Lopez
When invoking LoadFromRelativeFile and passing in a traversal substitution
stories are not found because the substitution is not applied. This is due to
the difference in the StoryFilePath which forces path separators to be '/'.
When the LoadFromRelativeFile code gets the absolute path of location file
separators are converted to '\'. This keeps the locationPath.replace code from
working
Im invoking the code as..
public Configuration configuration() {
return new MostUsefulConfiguration() // where to find the
stories
.useStoryLoader(new
LoadFromRelativeFile(CodeLocations.codeLocationFromClass(getClass()),
LoadFromRelativeFile.mavenModuleTestStoryFilePath("src/test/resources/jbehave/")))
.useStoryReporterBuilder(
new
StoryReporterBuilder().withDefaultFormats()
.withFormats(Format.CONSOLE, Format.TXT));
The code that breaks in LoadFromRelativeFile that break is
String locationPath = new
File(CodeLocations.getPathFromURL(location)).getAbsolutePath();
for (StoryFilePath traversal : traversals) {
String filePath = locationPath.replace(traversal.toRemove,
traversal.relativePath) + "/" + resourcePath;
locationPath would have all '/' converted to '\' by getAbsolutePath on windows
machines.
Maybe the following line should be inserted after the definition of locationPath
locationPath = locationPath.replace("\\","/");
}
--
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