Windows watch mode fix#3563
Conversation
|
This fixes the issue in my testing. Can we please get it in? |
|
Feel free to stamp it and @cpojer will merge soon. We could cut a patch release for that I think, but would need to double check for breaking changes |
|
Yes we can do a patch with this tomorrow. Seems like this diff has lint errors, though. Can you fix them up and make CI pass? |
|
Although I'm not super happy we use a third party until just for that, but didn't have time to check what it does, maybe it's reasonable. |
|
Yeah, it's only used in the test file – can we inline it rather than adding a dependency? Why can't we use |
| const createContext = require('./lib/createContext'); | ||
| const isValidPath = require('./lib/isValidPath'); | ||
| const preRunMessage = require('./preRunMessage'); | ||
| const replacePathSepForRegex = require('jest-regex-util').replacePathSepForRegex; |
There was a problem hiding this comment.
nit: const {replacePathSepForRegex} = require('jest-regex-util');
|
Hey, just caught up on this. You can see my last two comments at #3516 which explains the idea behind
so it would be super easy to inline. I'm not a master at regex, so I'm not sure if there's a more optimal / better regex pattern? As for using The test uses a snapshot of a Unix style path pattern. So on windows, for the test to pass, we need a function of the form
to match the snapshot so the test passes on Windows. I'll push the code review fix in a moment. I'm happy to add that helper function to |
| const createContext = require('./lib/createContext'); | ||
| const isValidPath = require('./lib/isValidPath'); | ||
| const preRunMessage = require('./preRunMessage'); | ||
| const { replacePathSepForRegex } = require('jest-regex-util'); |
|
Can we just inline this in the test? The function is not needed outside the test itself. Proposal:
|
|
@scottrangerio If you don't mind I'll fix up the nits and push to your branch. |
|
@gaearon Ah sorry, I only just saw this comment! I just pushed some code but feel free to take over from here on out! Cheers |
| @@ -2,6 +2,27 @@ | |||
| # yarn lockfile v1 | |||
|
|
|||
There was a problem hiding this comment.
You can probably revert this file?
| }); | ||
|
|
||
| it('can select a specific file name from the typeahead results', () => { | ||
| const toUnixPathPattern = pathPattern => pathPattern.replace(/\\\\/g, '/'); |
There was a problem hiding this comment.
Can you explain why we need to replace two backslashes with a single slash? Where does the second backslash come from?
There was a problem hiding this comment.
I guess because we're dealing with a pattern, so it needs an escape.
There was a problem hiding this comment.
|
Seems like this is ready. I would really appreciate a patch for this. |
Codecov Report
@@ Coverage Diff @@
## master #3563 +/- ##
=========================================
+ Coverage 62.39% 62.4% +<.01%
=========================================
Files 181 181
Lines 6646 6647 +1
Branches 6 6
=========================================
+ Hits 4147 4148 +1
Misses 2496 2496
Partials 3 3
Continue to review full report at Codecov.
|
* Fix interactive watch arrow selection on Windows jestjs#3516 * Refactored fix for jestjs#3516 to use replacePathSepForRegex * Fixed the failing test on Windows for the jestjs#3516 fix * Bump regex-slash to 1.0.1 (provides a flow lib def) * Update watch-filename-pattern-mode-test.js * Code review feedback * Fixed lint errors and implemented PR feedback * Revert yarn.lock changes
* Fix interactive watch arrow selection on Windows jestjs#3516 * Refactored fix for jestjs#3516 to use replacePathSepForRegex * Fixed the failing test on Windows for the jestjs#3516 fix * Bump regex-slash to 1.0.1 (provides a flow lib def) * Update watch-filename-pattern-mode-test.js * Code review feedback * Fixed lint errors and implemented PR feedback * Revert yarn.lock changes
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |


Summary
Fixes #3516
Test plan
Run the
'can select a specific file name from the typeahead results'test inwatch-filename-pattern-mode-test.json both Windows and Unix based systems