@@ -25,6 +25,7 @@ describe("index", () => {
2525 warn : jest . fn ( ) ,
2626 error : jest . fn ( ) ,
2727 } ,
28+ logEnabledFeatures : jest . fn ( ) ,
2829 setLogLevel : jest . fn ( ) ,
2930 } ) ;
3031
@@ -83,18 +84,6 @@ describe("index", () => {
8384 expect ( socket . mock . calls [ 0 ] ) . toMatchSnapshot ( ) ;
8485 } ) ;
8586
86- test ( "should run onSocketMessage.hot" , ( ) => {
87- onSocketMessage . hot ( ) ;
88-
89- expect ( log . log . info . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
90- } ) ;
91-
92- test ( "should run onSocketMessage.liveReload" , ( ) => {
93- onSocketMessage . liveReload ( ) ;
94-
95- expect ( log . log . info . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
96- } ) ;
97-
9887 test ( "should run onSocketMessage['still-ok']" , ( ) => {
9988 onSocketMessage [ "still-ok" ] ( ) ;
10089
@@ -207,6 +196,60 @@ describe("index", () => {
207196 expect ( overlay . show ) . toBeCalled ( ) ;
208197 } ) ;
209198
199+ test ( "should parse overlay options from resource query" , ( ) => {
200+ jest . isolateModules ( ( ) => {
201+ // Pass JSON config with warnings disabled
202+ global . __resourceQuery = `?overlay=${ encodeURIComponent (
203+ `{"warnings": false}`
204+ ) } `;
205+ overlay . show . mockReset ( ) ;
206+ socket . mockReset ( ) ;
207+ jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
208+ require ( "../../client-src" ) ;
209+ onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
210+
211+ onSocketMessage . warnings ( [ "warn1" ] ) ;
212+ expect ( overlay . show ) . not . toBeCalled ( ) ;
213+
214+ onSocketMessage . errors ( [ "error1" ] ) ;
215+ expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
216+ } ) ;
217+
218+ jest . isolateModules ( ( ) => {
219+ // Pass JSON config with errors disabled
220+ global . __resourceQuery = `?overlay=${ encodeURIComponent (
221+ `{"errors": false}`
222+ ) } `;
223+ overlay . show . mockReset ( ) ;
224+ socket . mockReset ( ) ;
225+ jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
226+ require ( "../../client-src" ) ;
227+ onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
228+
229+ onSocketMessage . errors ( [ "error1" ] ) ;
230+ expect ( overlay . show ) . not . toBeCalled ( ) ;
231+
232+ onSocketMessage . warnings ( [ "warn1" ] ) ;
233+ expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
234+ } ) ;
235+
236+ jest . isolateModules ( ( ) => {
237+ // Use simple boolean
238+ global . __resourceQuery = "?overlay=true" ;
239+ jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
240+ socket . mockReset ( ) ;
241+ overlay . show . mockReset ( ) ;
242+ require ( "../../client-src" ) ;
243+ onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
244+
245+ onSocketMessage . warnings ( [ "warn2" ] ) ;
246+ expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
247+
248+ onSocketMessage . errors ( [ "error2" ] ) ;
249+ expect ( overlay . show ) . toBeCalledTimes ( 2 ) ;
250+ } ) ;
251+ } ) ;
252+
210253 test ( "should run onSocketMessage.error" , ( ) => {
211254 onSocketMessage . error ( "error!!" ) ;
212255
@@ -225,7 +268,7 @@ describe("index", () => {
225268 onSocketMessage . hot ( ) ;
226269 onSocketMessage . close ( ) ;
227270
228- expect ( log . log . info . mock . calls [ 1 ] [ 0 ] ) . toMatchSnapshot ( ) ;
271+ expect ( log . log . info . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
229272 expect ( sendMessage . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
230273 } ) ;
231274
@@ -234,7 +277,7 @@ describe("index", () => {
234277 onSocketMessage . liveReload ( ) ;
235278 onSocketMessage . close ( ) ;
236279
237- expect ( log . log . info . mock . calls [ 1 ] [ 0 ] ) . toMatchSnapshot ( ) ;
280+ expect ( log . log . info . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
238281 expect ( sendMessage . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
239282 } ) ;
240283
0 commit comments