@@ -66,13 +66,26 @@ describe('ChunkExtrator', () => {
66
66
` )
67
67
} )
68
68
69
- it ( 'should add extra props if specified' , ( ) => {
69
+ it ( 'should add extra props if specified - object argument ' , ( ) => {
70
70
extractor . addChunk ( 'letters-A' )
71
71
expect ( extractor . getScriptTags ( { nonce : 'testnonce' } ) )
72
72
. toMatchInlineSnapshot ( `
73
73
"<script id=\\"__LOADABLE_REQUIRED_CHUNKS__\\" type=\\"application/json\\" nonce=\\"testnonce\\">[\\"letters-A\\"]</script>
74
74
<script async data-chunk=\\"main\\" src=\\"/dist/node/main.js\\" nonce=\\"testnonce\\"></script>
75
75
<script async data-chunk=\\"letters-A\\" src=\\"/dist/node/letters-A.js\\" nonce=\\"testnonce\\"></script>"
76
+ ` )
77
+ } )
78
+
79
+ it ( 'should add extra props if specified - function argument' , ( ) => {
80
+ extractor . addChunk ( 'letters-A' )
81
+ expect (
82
+ extractor . getScriptTags ( asset => {
83
+ return { nonce : asset ? asset . chunk : 'anonymous' }
84
+ } ) ,
85
+ ) . toMatchInlineSnapshot ( `
86
+ "<script id=\\"__LOADABLE_REQUIRED_CHUNKS__\\" type=\\"application/json\\" nonce=\\"anonymous\\">[\\"letters-A\\"]</script>
87
+ <script async data-chunk=\\"main\\" src=\\"/dist/node/main.js\\" nonce=\\"main\\"></script>
88
+ <script async data-chunk=\\"letters-A\\" src=\\"/dist/node/letters-A.js\\" nonce=\\"letters-A\\"></script>"
76
89
` )
77
90
} )
78
91
} )
@@ -153,7 +166,7 @@ Array [
153
166
` )
154
167
} )
155
168
156
- it ( 'should add extra props if specified' , ( ) => {
169
+ it ( 'should add extra props if specified - object argument ' , ( ) => {
157
170
extractor . addChunk ( 'letters-A' )
158
171
expect ( extractor . getScriptElements ( { nonce : 'testnonce' } ) )
159
172
. toMatchInlineSnapshot ( `
@@ -181,6 +194,40 @@ Array [
181
194
src="/dist/node/letters-A.js"
182
195
/>,
183
196
]
197
+ ` )
198
+ } )
199
+
200
+ it ( 'should add extra props if specified - function argument' , ( ) => {
201
+ extractor . addChunk ( 'letters-A' )
202
+ expect (
203
+ extractor . getScriptElements ( asset => {
204
+ return { nonce : asset ? asset . chunk : 'anonymous' }
205
+ } ) ,
206
+ ) . toMatchInlineSnapshot ( `
207
+ Array [
208
+ <script
209
+ dangerouslySetInnerHTML={
210
+ Object {
211
+ "__html": "[\\"letters-A\\"]",
212
+ }
213
+ }
214
+ id="__LOADABLE_REQUIRED_CHUNKS__"
215
+ nonce="anonymous"
216
+ type="application/json"
217
+ />,
218
+ <script
219
+ async={true}
220
+ data-chunk="main"
221
+ nonce="main"
222
+ src="/dist/node/main.js"
223
+ />,
224
+ <script
225
+ async={true}
226
+ data-chunk="letters-A"
227
+ nonce="letters-A"
228
+ src="/dist/node/letters-A.js"
229
+ />,
230
+ ]
184
231
` )
185
232
} )
186
233
} )
@@ -208,12 +255,24 @@ Array [
208
255
` )
209
256
} )
210
257
211
- it ( 'should add extraProps if specified' , ( ) => {
258
+ it ( 'should add extraProps if specified - object argument ' , ( ) => {
212
259
extractor . addChunk ( 'letters-A' )
213
260
expect ( extractor . getStyleTags ( { nonce : 'testnonce' } ) )
214
261
. toMatchInlineSnapshot ( `
215
262
"<link data-chunk=\\"main\\" rel=\\"stylesheet\\" href=\\"/dist/node/main.css\\" nonce=\\"testnonce\\">
216
263
<link data-chunk=\\"letters-A\\" rel=\\"stylesheet\\" href=\\"/dist/node/letters-A.css\\" nonce=\\"testnonce\\">"
264
+ ` )
265
+ } )
266
+
267
+ it ( 'should add extraProps if specified - function argument' , ( ) => {
268
+ extractor . addChunk ( 'letters-A' )
269
+ expect (
270
+ extractor . getStyleTags ( asset => ( {
271
+ nonce : asset ? asset . chunk : 'anonymous' ,
272
+ } ) ) ,
273
+ ) . toMatchInlineSnapshot ( `
274
+ "<link data-chunk=\\"main\\" rel=\\"stylesheet\\" href=\\"/dist/node/main.css\\" nonce=\\"main\\">
275
+ <link data-chunk=\\"letters-A\\" rel=\\"stylesheet\\" href=\\"/dist/node/letters-A.css\\" nonce=\\"letters-A\\">"
217
276
` )
218
277
} )
219
278
} )
@@ -239,7 +298,7 @@ body {
239
298
)
240
299
} )
241
300
242
- it ( 'should add extraProps if specified' , ( ) => {
301
+ it ( 'should add extraProps if specified - object argument ' , ( ) => {
243
302
extractor . addChunk ( 'letters-A' )
244
303
expect . assertions ( 1 )
245
304
return extractor . getInlineStyleTags ( { nonce : 'testnonce' } ) . then ( data =>
@@ -258,6 +317,28 @@ body {
258
317
` ) ,
259
318
)
260
319
} )
320
+
321
+ it ( 'should add extraProps if specified - function argument' , ( ) => {
322
+ extractor . addChunk ( 'letters-A' )
323
+ expect . assertions ( 1 )
324
+ return extractor
325
+ . getInlineStyleTags ( asset => ( { nonce : asset . chunk } ) )
326
+ . then ( data =>
327
+ expect ( data ) . toMatchInlineSnapshot ( `
328
+ "<style type=\\"text/css\\" data-chunk=\\"main\\" nonce=\\"main\\">
329
+ h1 {
330
+ color: cyan;
331
+ }
332
+ </style>
333
+ <style type=\\"text/css\\" data-chunk=\\"letters-A\\" nonce=\\"letters-A\\">
334
+ body {
335
+ background: pink;
336
+ }
337
+
338
+ </style>"
339
+ ` ) ,
340
+ )
341
+ } )
261
342
} )
262
343
263
344
describe ( '#getStyleElements' , ( ) => {
@@ -309,7 +390,7 @@ Array [
309
390
` )
310
391
} )
311
392
312
- it ( 'should add extraProps if specified' , ( ) => {
393
+ it ( 'should add extraProps if specified - object argument ' , ( ) => {
313
394
extractor . addChunk ( 'letters-A' )
314
395
expect ( extractor . getStyleElements ( { nonce : 'testnonce' } ) )
315
396
. toMatchInlineSnapshot ( `
@@ -327,6 +408,27 @@ Array [
327
408
rel="stylesheet"
328
409
/>,
329
410
]
411
+ ` )
412
+ } )
413
+
414
+ it ( 'should add extraProps if specified - function argument' , ( ) => {
415
+ extractor . addChunk ( 'letters-A' )
416
+ expect ( extractor . getStyleElements ( asset => ( { nonce : asset . chunk } ) ) )
417
+ . toMatchInlineSnapshot ( `
418
+ Array [
419
+ <link
420
+ data-chunk="main"
421
+ href="/dist/node/main.css"
422
+ nonce="main"
423
+ rel="stylesheet"
424
+ />,
425
+ <link
426
+ data-chunk="letters-A"
427
+ href="/dist/node/letters-A.css"
428
+ nonce="letters-A"
429
+ rel="stylesheet"
430
+ />,
431
+ ]
330
432
` )
331
433
} )
332
434
} )
@@ -417,7 +519,7 @@ body {
417
519
` )
418
520
} )
419
521
420
- it ( 'should add extraProps if specified' , ( ) => {
522
+ it ( 'should add extraProps if specified - object argument ' , ( ) => {
421
523
extractor . addChunk ( 'letters-A' )
422
524
expect ( extractor . getLinkTags ( { nonce : 'testnonce' } ) )
423
525
. toMatchInlineSnapshot ( `
@@ -427,6 +529,19 @@ body {
427
529
<link data-chunk=\\"letters-A\\" rel=\\"preload\\" as=\\"script\\" href=\\"/dist/node/letters-A.js\\" nonce=\\"testnonce\\">
428
530
<link data-parent-chunk=\\"main\\" rel=\\"preload\\" as=\\"script\\" href=\\"/dist/node/letters-C.js\\" nonce=\\"testnonce\\">
429
531
<link data-parent-chunk=\\"main\\" rel=\\"prefetch\\" as=\\"script\\" href=\\"/dist/node/letters-D.js\\" nonce=\\"testnonce\\">"
532
+ ` )
533
+ } )
534
+
535
+ it ( 'should add extraProps if specified - function argument' , ( ) => {
536
+ extractor . addChunk ( 'letters-A' )
537
+ expect ( extractor . getLinkTags ( asset => ( { nonce : asset . chunk } ) ) )
538
+ . toMatchInlineSnapshot ( `
539
+ "<link data-chunk=\\"main\\" rel=\\"preload\\" as=\\"style\\" href=\\"/dist/node/main.css\\" nonce=\\"main\\">
540
+ <link data-chunk=\\"main\\" rel=\\"preload\\" as=\\"script\\" href=\\"/dist/node/main.js\\" nonce=\\"main\\">
541
+ <link data-chunk=\\"letters-A\\" rel=\\"preload\\" as=\\"style\\" href=\\"/dist/node/letters-A.css\\" nonce=\\"letters-A\\">
542
+ <link data-chunk=\\"letters-A\\" rel=\\"preload\\" as=\\"script\\" href=\\"/dist/node/letters-A.js\\" nonce=\\"letters-A\\">
543
+ <link data-parent-chunk=\\"main\\" rel=\\"preload\\" as=\\"script\\" href=\\"/dist/node/letters-C.js\\" nonce=\\"main\\">
544
+ <link data-parent-chunk=\\"main\\" rel=\\"prefetch\\" as=\\"script\\" href=\\"/dist/node/letters-D.js\\" nonce=\\"main\\">"
430
545
` )
431
546
} )
432
547
} )
0 commit comments