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


Reply via email to