Skip to content

Spaces in developer's path break Cucumber's own tests #1845

@mattwynne

Description

@mattwynne

When working in the new contributors ensemble, we discovered that having a space in the path to where you're keeping cucumber-js's source code will break at least one of the tests.

Branch / draft-PR coming up!

To reproduce

git clone [email protected]:cucumber:cucumber-js
mv cucumber-js "cucumber js"
cd "cucumber js"
npm install
npm test

What happens

1) Scenario: Absolute path # features/formatter_paths.feature:26
   ✔ Before # features/support/hooks.ts:20
   ✔ Given a file named "features/a.feature" with: # features/step_definitions/file_steps.ts:10
       """
       Feature: some feature
         Scenario: some scenario
           Given a passing step
       """
   ✔ And a file named "features/step_definitions/cucumber_steps.js" with: # features/step_definitions/file_steps.ts:10
       """
       const {Given} = require('@cucumber/cucumber')

       Given(/^a passing step$/, function() {})
       """
   ✔ Given "{{{tmpDir}}}" is an absolute path # features/step_definitions/file_steps.ts:37
   ✔ When I run cucumber-js with `-f summary:{{{tmpDir}}}/summary.txt` # features/step_definitions/cli_steps.ts:19
   ✖ Then the file "{{{tmpDir}}}/summary.txt" has the text: # features/step_definitions/file_steps.ts:45
       """
       1 scenario (1 passed)
       1 step (1 passed)
       <duration-stat>
       """
       Error: ENOENT: no such file or directory, open '/Users/matt/git/github.com/cucumber/cucumber js/tmp/formatter_paths.feature_26/summary.txt'
   ✔ After # features/support/hooks.ts:104

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions