@@ -212,119 +212,133 @@ describe('InspectedElementContext', () => {
212
212
const id = ( ( store . getElementIDAtIndex ( 0 ) : any ) : number ) ;
213
213
const inspectedElement = await read ( id ) ;
214
214
215
- expect ( inspectedElement . props ) . toMatchInlineSnapshot ( `
216
- Object {
217
- "anonymous_fn": Dehydrated {
218
- "preview_short": ƒ () {},
219
- "preview_long": ƒ () {},
220
- },
221
- "array_buffer": Dehydrated {
222
- "preview_short": ArrayBuffer(3),
223
- "preview_long": ArrayBuffer(3),
224
- },
225
- "array_of_arrays": Array [
226
- Dehydrated {
227
- "preview_short": Array(2),
228
- "preview_long": [Array(3), Array(0)],
229
- },
230
- ],
231
- "big_int": Dehydrated {
232
- "preview_short": 123n,
233
- "preview_long": 123n,
234
- },
235
- "bound_fn": Dehydrated {
236
- "preview_short": ƒ bound exampleFunction() {},
237
- "preview_long": ƒ bound exampleFunction() {},
238
- },
239
- "data_view": Dehydrated {
240
- "preview_short": DataView(3),
241
- "preview_long": DataView(3),
242
- },
243
- "date": Dehydrated {
244
- "preview_short": Wed Dec 31 1969 19:00:00 GMT-0500 (Eastern Standard Time),
245
- "preview_long": Wed Dec 31 1969 19:00:00 GMT-0500 (Eastern Standard Time),
246
- },
247
- "fn": Dehydrated {
248
- "preview_short": ƒ exampleFunction() {},
249
- "preview_long": ƒ exampleFunction() {},
250
- },
251
- "html_element": Dehydrated {
252
- "preview_short": <div />,
253
- "preview_long": <div />,
254
- },
255
- "immutable": Object {
256
- "0": Dehydrated {
257
- "preview_short": Array(2),
258
- "preview_long": ["a", List(3)],
259
- },
260
- "1": Dehydrated {
261
- "preview_short": Array(2),
262
- "preview_long": ["b", 123],
263
- },
264
- "2": Dehydrated {
265
- "preview_short": Array(2),
266
- "preview_long": ["c", Map(2)],
267
- },
268
- },
269
- "map": Object {
270
- "0": Dehydrated {
271
- "preview_short": Array(2),
272
- "preview_long": ["name", "Brian"],
273
- },
274
- "1": Dehydrated {
275
- "preview_short": Array(2),
276
- "preview_long": ["food", "sushi"],
277
- },
278
- },
279
- "map_of_maps": Object {
280
- "0": Dehydrated {
281
- "preview_short": Array(2),
282
- "preview_long": ["first", Map(2)],
283
- },
284
- "1": Dehydrated {
285
- "preview_short": Array(2),
286
- "preview_long": ["second", Map(2)],
287
- },
288
- },
289
- "object_of_objects": Object {
290
- "inner": Dehydrated {
291
- "preview_short": {…},
292
- "preview_long": {boolean: true, number: 123, string: "abc"},
293
- },
294
- },
295
- "react_element": Dehydrated {
296
- "preview_short": <span />,
297
- "preview_long": <span />,
298
- },
299
- "regexp": Dehydrated {
300
- "preview_short": /abc/giu,
301
- "preview_long": /abc/giu,
302
- },
303
- "set": Object {
304
- "0": "abc",
305
- "1": 123,
306
- },
307
- "set_of_sets": Object {
308
- "0": Dehydrated {
309
- "preview_short": Set(3),
310
- "preview_long": Set(3) {"a", "b", "c"},
311
- },
312
- "1": Dehydrated {
313
- "preview_short": Set(3),
314
- "preview_long": Set(3) {1, 2, 3},
315
- },
316
- },
317
- "symbol": Dehydrated {
318
- "preview_short": Symbol(symbol),
319
- "preview_long": Symbol(symbol),
320
- },
321
- "typed_array": Object {
322
- "0": 100,
323
- "1": -100,
324
- "2": 0,
325
- },
326
- }
327
- ` ) ;
215
+ const {
216
+ anonymous_fn,
217
+ array_buffer,
218
+ array_of_arrays,
219
+ big_int,
220
+ bound_fn,
221
+ data_view,
222
+ date,
223
+ fn,
224
+ html_element,
225
+ immutable,
226
+ map,
227
+ map_of_maps,
228
+ object_of_objects,
229
+ react_element,
230
+ regexp,
231
+ set,
232
+ set_of_sets,
233
+ symbol,
234
+ typed_array,
235
+ } = inspectedElement . props ;
236
+
237
+ const { meta} = require ( 'react-devtools-shared/src/hydration' ) ;
238
+
239
+ expect ( anonymous_fn [ meta . inspectable ] ) . toBe ( false ) ;
240
+ expect ( anonymous_fn [ meta . name ] ) . toBe ( 'function' ) ;
241
+ expect ( anonymous_fn [ meta . type ] ) . toBe ( 'function' ) ;
242
+ expect ( anonymous_fn [ meta . preview_long ] ) . toBe ( 'ƒ () {}' ) ;
243
+ expect ( anonymous_fn [ meta . preview_short ] ) . toBe ( 'ƒ () {}' ) ;
244
+
245
+ expect ( array_buffer [ meta . size ] ) . toBe ( 3 ) ;
246
+ expect ( array_buffer [ meta . inspectable ] ) . toBe ( false ) ;
247
+ expect ( array_buffer [ meta . name ] ) . toBe ( 'ArrayBuffer' ) ;
248
+ expect ( array_buffer [ meta . type ] ) . toBe ( 'array_buffer' ) ;
249
+ expect ( array_buffer [ meta . preview_short ] ) . toBe ( 'ArrayBuffer(3)' ) ;
250
+ expect ( array_buffer [ meta . preview_long ] ) . toBe ( 'ArrayBuffer(3)' ) ;
251
+
252
+ expect ( array_of_arrays [ 0 ] [ meta . size ] ) . toBe ( 2 ) ;
253
+ expect ( array_of_arrays [ 0 ] [ meta . inspectable ] ) . toBe ( true ) ;
254
+ expect ( array_of_arrays [ 0 ] [ meta . name ] ) . toBe ( 'Array' ) ;
255
+ expect ( array_of_arrays [ 0 ] [ meta . type ] ) . toBe ( 'array' ) ;
256
+ expect ( array_of_arrays [ 0 ] [ meta . preview_long ] ) . toBe ( '[Array(3), Array(0)]' ) ;
257
+ expect ( array_of_arrays [ 0 ] [ meta . preview_short ] ) . toBe ( 'Array(2)' ) ;
258
+
259
+ expect ( big_int [ meta . inspectable ] ) . toBe ( false ) ;
260
+ expect ( big_int [ meta . name ] ) . toBe ( '123' ) ;
261
+ expect ( big_int [ meta . type ] ) . toBe ( 'bigint' ) ;
262
+
263
+ expect ( bound_fn [ meta . inspectable ] ) . toBe ( false ) ;
264
+ expect ( bound_fn [ meta . name ] ) . toBe ( 'bound exampleFunction' ) ;
265
+ expect ( bound_fn [ meta . type ] ) . toBe ( 'function' ) ;
266
+ expect ( bound_fn [ meta . preview_long ] ) . toBe ( 'ƒ bound exampleFunction() {}' ) ;
267
+ expect ( bound_fn [ meta . preview_short ] ) . toBe ( 'ƒ bound exampleFunction() {}' ) ;
268
+
269
+ expect ( data_view [ meta . size ] ) . toBe ( 3 ) ;
270
+ expect ( data_view [ meta . inspectable ] ) . toBe ( false ) ;
271
+ expect ( data_view [ meta . name ] ) . toBe ( 'DataView' ) ;
272
+ expect ( data_view [ meta . type ] ) . toBe ( 'data_view' ) ;
273
+
274
+ expect ( date [ meta . inspectable ] ) . toBe ( false ) ;
275
+ expect ( date [ meta . type ] ) . toBe ( 'date' ) ;
276
+
277
+ expect ( fn [ meta . inspectable ] ) . toBe ( false ) ;
278
+ expect ( fn [ meta . name ] ) . toBe ( 'exampleFunction' ) ;
279
+ expect ( fn [ meta . type ] ) . toBe ( 'function' ) ;
280
+ expect ( fn [ meta . preview_long ] ) . toBe ( 'ƒ exampleFunction() {}' ) ;
281
+ expect ( fn [ meta . preview_short ] ) . toBe ( 'ƒ exampleFunction() {}' ) ;
282
+
283
+ expect ( html_element [ meta . inspectable ] ) . toBe ( false ) ;
284
+ expect ( html_element [ meta . name ] ) . toBe ( 'DIV' ) ;
285
+ expect ( html_element [ meta . type ] ) . toBe ( 'html_element' ) ;
286
+
287
+ expect ( immutable [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
288
+ expect ( immutable [ meta . name ] ) . toBe ( 'Map' ) ;
289
+ expect ( immutable [ meta . type ] ) . toBe ( 'iterator' ) ;
290
+
291
+ expect ( map [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
292
+ expect ( map [ meta . name ] ) . toBe ( 'Map' ) ;
293
+ expect ( map [ meta . type ] ) . toBe ( 'iterator' ) ;
294
+ expect ( map [ 0 ] [ meta . type ] ) . toBe ( 'array' ) ;
295
+
296
+ expect ( map_of_maps [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
297
+ expect ( map_of_maps [ meta . name ] ) . toBe ( 'Map' ) ;
298
+ expect ( map_of_maps [ meta . type ] ) . toBe ( 'iterator' ) ;
299
+ expect ( map_of_maps [ 0 ] [ meta . type ] ) . toBe ( 'array' ) ;
300
+
301
+ expect ( object_of_objects . inner [ meta . size ] ) . toBe ( 3 ) ;
302
+ expect ( object_of_objects . inner [ meta . inspectable ] ) . toBe ( true ) ;
303
+ expect ( object_of_objects . inner [ meta . name ] ) . toBe ( '' ) ;
304
+ expect ( object_of_objects . inner [ meta . type ] ) . toBe ( 'object' ) ;
305
+ expect ( object_of_objects . inner [ meta . preview_long ] ) . toBe (
306
+ '{boolean: true, number: 123, string: "abc"}' ,
307
+ ) ;
308
+ expect ( object_of_objects . inner [ meta . preview_short ] ) . toBe ( '{…}' ) ;
309
+
310
+ expect ( react_element [ meta . inspectable ] ) . toBe ( false ) ;
311
+ expect ( react_element [ meta . name ] ) . toBe ( 'span' ) ;
312
+ expect ( react_element [ meta . type ] ) . toBe ( 'react_element' ) ;
313
+
314
+ expect ( regexp [ meta . inspectable ] ) . toBe ( false ) ;
315
+ expect ( regexp [ meta . name ] ) . toBe ( '/abc/giu' ) ;
316
+ expect ( regexp [ meta . preview_long ] ) . toBe ( '/abc/giu' ) ;
317
+ expect ( regexp [ meta . preview_short ] ) . toBe ( '/abc/giu' ) ;
318
+ expect ( regexp [ meta . type ] ) . toBe ( 'regexp' ) ;
319
+
320
+ expect ( set [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
321
+ expect ( set [ meta . name ] ) . toBe ( 'Set' ) ;
322
+ expect ( set [ meta . type ] ) . toBe ( 'iterator' ) ;
323
+ expect ( set [ 0 ] ) . toBe ( 'abc' ) ;
324
+ expect ( set [ 1 ] ) . toBe ( 123 ) ;
325
+
326
+ expect ( set_of_sets [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
327
+ expect ( set_of_sets [ meta . name ] ) . toBe ( 'Set' ) ;
328
+ expect ( set_of_sets [ meta . type ] ) . toBe ( 'iterator' ) ;
329
+ expect ( set_of_sets [ '0' ] [ meta . inspectable ] ) . toBe ( true ) ;
330
+
331
+ expect ( symbol [ meta . inspectable ] ) . toBe ( false ) ;
332
+ expect ( symbol [ meta . name ] ) . toBe ( 'Symbol(symbol)' ) ;
333
+ expect ( symbol [ meta . type ] ) . toBe ( 'symbol' ) ;
334
+
335
+ expect ( typed_array [ meta . inspectable ] ) . toBeUndefined ( ) ; // Complex type
336
+ expect ( typed_array [ meta . size ] ) . toBe ( 3 ) ;
337
+ expect ( typed_array [ meta . name ] ) . toBe ( 'Int8Array' ) ;
338
+ expect ( typed_array [ meta . type ] ) . toBe ( 'typed_array' ) ;
339
+ expect ( typed_array [ 0 ] ) . toBe ( 100 ) ;
340
+ expect ( typed_array [ 1 ] ) . toBe ( - 100 ) ;
341
+ expect ( typed_array [ 2 ] ) . toBe ( 0 ) ;
328
342
329
343
done ( ) ;
330
344
} ) ;
0 commit comments