@@ -934,6 +934,10 @@ describe('preset', () => {
934934 return '/node_modules/react-native/jest-preset.json' ;
935935 }
936936
937+ if ( name === 'react-native-js-preset/jest-preset' ) {
938+ return '/node_modules/react-native-js-preset/jest-preset.js' ;
939+ }
940+
937941 if ( name === 'doesnt-exist' ) {
938942 return null ;
939943 }
@@ -951,6 +955,15 @@ describe('preset', () => {
951955 } ) ,
952956 { virtual : true } ,
953957 ) ;
958+ jest . doMock (
959+ '/node_modules/react-native-js-preset/jest-preset.js' ,
960+ ( ) => ( {
961+ moduleNameMapper : {
962+ json : true ,
963+ } ,
964+ } ) ,
965+ { virtual : true } ,
966+ ) ;
954967 jest . mock (
955968 '/node_modules/with-json-ext/jest-preset.json' ,
956969 ( ) => ( {
@@ -1021,7 +1034,31 @@ describe('preset', () => {
10211034 } ,
10221035 { } ,
10231036 ) ;
1024- } ) . toThrowError ( / U n e x p e c t e d t o k e n } / ) ;
1037+ } ) . toThrowError (
1038+ / U n e x p e c t e d t o k e n } i n J S O N a t p o s i t i o n 1 0 4 .* a t J S O N .p a r s e / s,
1039+ ) ;
1040+ } ) ;
1041+
1042+ test ( 'throws when preset evaluation throws type error' , ( ) => {
1043+ jest . doMock (
1044+ '/node_modules/react-native-js-preset/jest-preset.js' ,
1045+ ( ) => ( {
1046+ transform : { } . nonExistingProp . call ( ) ,
1047+ } ) ,
1048+ { virtual : true } ,
1049+ ) ;
1050+
1051+ expect ( ( ) => {
1052+ normalize (
1053+ {
1054+ preset : 'react-native-js-preset' ,
1055+ rootDir : '/root/path/foo' ,
1056+ } ,
1057+ { } ,
1058+ ) ;
1059+ } ) . toThrowError (
1060+ / T y p e E r r o r : C a n n o t r e a d p r o p e r t y ' c a l l ' o f u n d e f i n e d .* a t O b j e c t .c a l l / s,
1061+ ) ;
10251062 } ) ;
10261063
10271064 test ( 'works with "react-native"' , ( ) => {
0 commit comments