@@ -300,3 +300,59 @@ function ID(x) {
300300 } ;
301301 } , MyError ) ;
302302} ) ( ) ;
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