@@ -42,7 +42,24 @@ describe('parseHookNames', () => {
42
42
43
43
inspectHooks = require ( 'react-debug-tools/src/ReactDebugHooks' )
44
44
. inspectHooks ;
45
- parseHookNames = require ( '../parseHookNames/parseHookNames' ) . parseHookNames ;
45
+
46
+ // Jest can't run the workerized version of this module.
47
+ const loadSourceAndMetadata = require ( '../parseHookNames/loadSourceAndMetadata' )
48
+ . default ;
49
+ const parseSourceAndMetadata = require ( '../parseHookNames/parseSourceAndMetadata' )
50
+ . parseSourceAndMetadata ;
51
+ parseHookNames = async hooksTree => {
52
+ const [
53
+ hooksList ,
54
+ locationKeyToHookSourceAndMetadata ,
55
+ ] = await loadSourceAndMetadata ( hooksTree ) ;
56
+
57
+ // Runs in a Worker because it's CPU intensive:
58
+ return parseSourceAndMetadata (
59
+ hooksList ,
60
+ locationKeyToHookSourceAndMetadata ,
61
+ ) ;
62
+ } ;
46
63
47
64
// Jest (jest-runner?) configures Errors to automatically account for source maps.
48
65
// This changes behavior between our tests and the browser.
@@ -880,18 +897,21 @@ describe('parseHookNames', () => {
880
897
describe ( 'parseHookNames worker' , ( ) => {
881
898
let inspectHooks ;
882
899
let parseHookNames ;
883
- let workerizedParseHookNamesMock ;
900
+ let workerizedParseSourceAndMetadataMock ;
884
901
885
902
beforeEach ( ( ) => {
886
903
window . Worker = undefined ;
887
904
888
- workerizedParseHookNamesMock = jest . fn ( ) ;
905
+ workerizedParseSourceAndMetadataMock = jest . fn ( ( ) => {
906
+ console . log ( 'mock fn' ) ;
907
+ return [ ] ;
908
+ } ) ;
889
909
890
- jest . mock ( '../parseHookNames/parseHookNames .worker.js' , ( ) => {
910
+ jest . mock ( '../parseHookNames/parseSourceAndMetadata .worker.js' , ( ) => {
891
911
return {
892
912
__esModule : true ,
893
913
default : ( ) => ( {
894
- parseHookNames : workerizedParseHookNamesMock ,
914
+ parseSourceAndMetadata : workerizedParseSourceAndMetadataMock ,
895
915
} ) ,
896
916
} ;
897
917
} ) ;
@@ -912,11 +932,12 @@ describe('parseHookNames worker', () => {
912
932
. Component ;
913
933
914
934
window . Worker = true ;
915
- // resets module so mocked worker instance can be updated
935
+
936
+ // Reset module so mocked worker instance can be updated.
916
937
jest . resetModules ( ) ;
917
938
parseHookNames = require ( '../parseHookNames' ) . parseHookNames ;
918
939
919
940
await getHookNamesForComponent ( Component ) ;
920
- expect ( workerizedParseHookNamesMock ) . toHaveBeenCalledTimes ( 1 ) ;
941
+ expect ( workerizedParseSourceAndMetadataMock ) . toHaveBeenCalledTimes ( 1 ) ;
921
942
} ) ;
922
943
} ) ;
0 commit comments