Comments (5)
We've been blocked by this issue, too. I noticed that the issue is caused by sinonjs/nise#216. Rewriting all the usages of respondWith
is a pain for us, but reading sinonjs/nise#216, this seems to be an intended breaking change.
from sinon.
i think that makes sense. let me know if you want any help sorting the new flag out etc
doesn't sound too difficult. basically default it to legacy behaviour which auto-escapes ?
under the hood
from sinon.
The code repro is unfortunately not runnable (suggest using RunKit next time), so I have no 100% assurance this is fixed, but it should be fixed in the changes James shipped to Nise (enabling the legacy routes flag by default) should mean this is gone. Please test Sinon 18 and report back if this is not fixed.
from sinon.
Thanks for providing this. This bug is totally on me. I am not sure how I missed James' very detailed explanations in his PR, which spells out how this is a breaking change and actually asks for input (which I also missed, must have been late).
My suggestion:
- Update the NPM registry to point to 17.0.1 as latest and 17.0.2 as deprecated
- Add support to Nise for re-writing expressions including query parameters to the new form through a compatibility flag
- Make a patch version of Sinon 17 use that flag by default to restore current behavior
- Release Sinon 18 with that flag disabled and note the requirement in the docs, but with the possibility of enabling it manually to avoid rewriting expressions
Thoughts, @43081j or @mroderick ?
from sinon.
An interim "fix" is that I rolled the latest
tag to point to 17.0.1. Wiping node_modules should be sufficient.
from sinon.
Related Issues (20)
- I can't find the CHANGELOG HOT 9
- Elaborate on "For the stubbing to work, the stubbed method cannot be destructured, neither in the module under test nor in the test." HOT 5
- Unable to install [email protected] HOT 6
- Remove unused/meaningless exports and modules from the codebase HOT 1
- Limit assertion log to a reasonable default HOT 1
- `returns` not override `callThrough` HOT 4
- `returns` clears fake's `callArgAt` HOT 5
- Discrepancy in stub construction methods HOT 4
- Feature Request: Add API support to stub a parent class constructor. HOT 4
- .rejects doesn't match documentation HOT 2
- SyntaxError: Unexpected token . -> assert(opts?.sinonXhrLib, "No XHR lib passed in"); HOT 1
- Documentation of callIds
- Cannot stub private methods in native JavaScript classes HOT 1
- Calling replaceGetter invokes the original function HOT 4
- [Node v21.7.0] Impossible to stub `fetch` HOT 4
- Remove `const sandbox = sinon.createSandbox();` from examples unrelated to `sandbox`. HOT 1
- sinon-test is broken when using sinon v17.0.2 HOT 2
- docs: overview of compatible nodejs versions HOT 4
- Mysterious undocumented v18 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sinon.