@@ -300,3 +300,59 @@ function ID(x) {
300
300
} ;
301
301
} , MyError ) ;
302
302
} ) ( ) ;
303
+
304
+
305
+ ( function TestNestedLiterals ( ) {
306
+ var array = [
307
+ 42 ,
308
+ { a : 'A' ,
309
+ [ 'b' ] : 'B' ,
310
+ c : 'C' ,
311
+ [ ID ( 'd' ) ] : 'D' ,
312
+ } ,
313
+ 43 ,
314
+ ] ;
315
+ assertEquals ( 42 , array [ 0 ] ) ;
316
+ assertEquals ( 43 , array [ 2 ] ) ;
317
+ assertEquals ( 'A' , array [ 1 ] . a ) ;
318
+ assertEquals ( 'B' , array [ 1 ] . b ) ;
319
+ assertEquals ( 'C' , array [ 1 ] . c ) ;
320
+ assertEquals ( 'D' , array [ 1 ] . d ) ;
321
+ var object = {
322
+ outer : 42 ,
323
+ inner : {
324
+ a : 'A' ,
325
+ [ 'b' ] : 'B' ,
326
+ c : 'C' ,
327
+ [ ID ( 'd' ) ] : 'D' ,
328
+ } ,
329
+ outer2 : 43 ,
330
+ } ;
331
+ assertEquals ( 42 , object . outer ) ;
332
+ assertEquals ( 43 , object . outer2 ) ;
333
+ assertEquals ( 'A' , object . inner . a ) ;
334
+ assertEquals ( 'B' , object . inner . b ) ;
335
+ assertEquals ( 'C' , object . inner . c ) ;
336
+ assertEquals ( 'D' , object . inner . d ) ;
337
+ var object = {
338
+ outer : 42 ,
339
+ array : [
340
+ 43 ,
341
+ { a : 'A' ,
342
+ [ 'b' ] : 'B' ,
343
+ c : 'C' ,
344
+ [ ID ( 'd' ) ] : 'D' ,
345
+ } ,
346
+ 44 ,
347
+ ] ,
348
+ outer2 : 45
349
+ } ;
350
+ assertEquals ( 42 , object . outer ) ;
351
+ assertEquals ( 45 , object . outer2 ) ;
352
+ assertEquals ( 43 , object . array [ 0 ] ) ;
353
+ assertEquals ( 44 , object . array [ 2 ] ) ;
354
+ assertEquals ( 'A' , object . array [ 1 ] . a ) ;
355
+ assertEquals ( 'B' , object . array [ 1 ] . b ) ;
356
+ assertEquals ( 'C' , object . array [ 1 ] . c ) ;
357
+ assertEquals ( 'D' , object . array [ 1 ] . d ) ;
358
+ } ) ( ) ;
0 commit comments