You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When parsing the stack for a file that happens to have parentheses in its name, I expected those parentheses to still be there when I got the parsed StackFrame object's fileName.
e.g.
path/to/my (top secret) project/file.js
remains as
path/to/my (top secret) project/file.js
Current Behavior
Parentheses are stripped out of the path.
e.g.
path/to/my (top secret) project/file.js
becomes
path/to/my top secret project/file.js`
Steps to Reproduce (for bugs)
I wrote a failing test for it that reproduces the problem, in a branch which you can see here.
Context
This has caused us some problems running Cucumber-JS's own tests if the developer's environment has parens in the path. See cucumber/cucumber-js#1735
Operating System and version (desktop or mobile): OSX 11.4
Possible Solution
If you want to submit a PR with a fix for this, you'll need to start by forking this repo. If you install the gh command-line tool, you can do that with:
$ gh repo fork stacktracejs/error-stack-parser
That should hopefully fork the repo to your GitHub account and then create a local clone of it.
In the new directory of the local clone, you can then create a branch, and pull in my commit with the failing test:
Try running the tests, and you should see one failing:
npm install
npm test
npm test
> error-stack-parser@2.0.6 test
> karma start karma.conf.js --single-run
19 07 2021 14:32:05.968:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/
19 07 2021 14:32:05.971:INFO [launcher]: Launching browsers PhantomJS with concurrency unlimited
19 07 2021 14:32:05.975:INFO [launcher]: Starting browser PhantomJS
19 07 2021 14:32:07.389:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket S7DEMBo_p_scyXL8AAAA with id 77822057
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR LOG: 'DEPRECATION:', 'Setting specFilter directly on Env is deprecated and will be removed in a future version of Jasmine, please use the specFilter option in `configure`'
ErrorStackParser
#parse
✓ should parse Safari 7 Error.stack
✓ should parse Safari 8 Error.stack
✓ should parse nested eval() from Safari 9
✓ should parse Firefox 31 Error.stack
✓ should parse nested eval() from Firefox 43
✓ should parse function names containing @ in Firefox 43 Error.stack
✓ should parse IE 10 Error stacks
✓ should parse Opera 11 Error messages
✓ should parse IE 11 Error stacks
✓ should parse stack traces with @ in the URL
✓ should parse Opera 25 Error stacks
✓ should parse stack traces with @ in the URL and the method
✓ should parse Opera 9.27 Error messages
✓ should parse Safari 6 Error.stack
✓ should not parse IE 9 Error
✓ should handle webpack eval stacks
✓ should handle spaces in Node.js stacks
✓ should parse nested eval() from Edge
✓ should handle newlines in Error stack messages
✓ should parse Opera 10 Error messages
✗ should handle parentheses in Node.js stacks
Expected '/var/app/scratch/my project top secret/index.js' to equal '/var/app/scratch/my project (top secret)/index.js'.
<Jasmine>
spec/error-stack-parser-spec.js:237:52
<Jasmine>
✓ should parse V8 Error.stack
✓ should parse error stacks with Constructors
✓ should parse V8 entries with no location
✓ should parse V8 Error.stack entries with port numbers
✓ should parse nested eval() from V8
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 26 of 26 (1 FAILED) (0.35 secs / 0.313 secs)
TOTAL: 1 FAILED, 25 SUCCESS
1) should handle parentheses in Node.js stacks
ErrorStackParser #parse
Expected '/var/app/scratch/my project top secret/index.js' to equal '/var/app/scratch/my project (top secret)/index.js'.
<Jasmine>
spec/error-stack-parser-spec.js:237:52
<Jasmine>
Now you just need to fiddle with the code until that test passes :)
The text was updated successfully, but these errors were encountered:
Expected Behavior
When parsing the stack for a file that happens to have parentheses in its name, I expected those parentheses to still be there when I got the parsed StackFrame object's
fileName
.e.g.
remains as
Current Behavior
Parentheses are stripped out of the path.
e.g.
becomes
Steps to Reproduce (for bugs)
I wrote a failing test for it that reproduces the problem, in a branch which you can see here.
Context
This has caused us some problems running Cucumber-JS's own tests if the developer's environment has parens in the path. See cucumber/cucumber-js#1735
Your Environment
Possible Solution
If you want to submit a PR with a fix for this, you'll need to start by forking this repo. If you install the
gh
command-line tool, you can do that with:That should hopefully fork the repo to your GitHub account and then create a local clone of it.
In the new directory of the local clone, you can then create a branch, and pull in my commit with the failing test:
Try running the tests, and you should see one failing:
Now you just need to fiddle with the code until that test passes :)
The text was updated successfully, but these errors were encountered: