fix(matchMock): handle regex mock paths directly #281
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Handle regex paths directly rather than passing them to path-to-regexp.
Motivation and Context
#269 upgraded path-to-regexp to v8 from v3. An error was reported when using a regexp for the path variable with that change.
Scenario:
Error after doing any GET call to the parrot mock:
Looking at the path-to-regexp README shows a missed signature change:
v3 README:
v8 README:
I'm not 100% clear on why passing in a regex is failing, and it still seems to work in unit tests. But it seems wise to not do it since it's undocumented. We can just check for a regex path directly and evaluate it without path-to-regexp at all.
How Has This Been Tested?
Added new unit tests. Verified this fixes issue in cited example.
Types of Changes
Checklist:
What is the Impact to Developers Using parrot?
Fixes issue with regexp paths.