@@ -234,7 +234,7 @@ describe("Plurals", function() {
234234 expect ( parse ( "{NUM, plural, one{{x,date,y-M-dd # '#'}} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 0 ] . arg ) . to . eql ( 'x' ) ;
235235 expect ( parse ( "{NUM, plural, one{{x,date,y-M-dd # '#'}} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 0 ] . key ) . to . eql ( 'date' ) ;
236236 // Octothorpe is not special here regardless of strict number sign
237- expect ( parse ( "{NUM, plural, one{{x,date,y-M-dd # '#'}} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-dd # '#'" ) ;
237+ expect ( parse ( "{NUM, plural, one{{x,date,y-M-dd # '#'}} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 0 ] . param ) . to . eql ( "y-M-dd # '#'" ) ;
238238
239239 expect ( parse ( "{NUM, plural, one{# '' #} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 0 ] . type ) . to . eql ( 'octothorpe' ) ;
240240 expect ( parse ( "{NUM, plural, one{# '' #} two{two}}" ) [ 0 ] . cases [ 0 ] . tokens [ 1 ] ) . to . eql ( " ' " ) ;
@@ -280,55 +280,38 @@ describe("Functions", function() {
280280 it ( "should accept no parameters" , function ( ) {
281281 expect ( parse ( '{var,date}' ) [ 0 ] . type ) . to . eql ( 'function' ) ;
282282 expect ( parse ( '{var,date}' ) [ 0 ] . key ) . to . eql ( 'date' ) ;
283- expect ( parse ( '{var,date}' ) [ 0 ] . params ) . to . be . empty ;
283+ expect ( parse ( '{var,date}' ) [ 0 ] . param ) . to . be . null ;
284284 } )
285285
286286 it ( "should accept parameters" , function ( ) {
287287 expect ( parse ( '{var,date,long}' ) [ 0 ] . type ) . to . eql ( 'function' ) ;
288288 expect ( parse ( '{var,date,long}' ) [ 0 ] . key ) . to . eql ( 'date' ) ;
289- expect ( parse ( '{var,date,long}' ) [ 0 ] . params [ 0 ] ) . to . eql ( 'long' ) ;
290- expect ( parse ( '{var,date,long,short}' ) [ 0 ] . params [ 0 ] ) . to . eql ( 'long' ) ;
291- expect ( parse ( '{var,date,long,short}' ) [ 0 ] . params [ 1 ] ) . to . eql ( 'short' ) ;
289+ expect ( parse ( '{var,date,long}' ) [ 0 ] . param ) . to . eql ( 'long' ) ;
290+ expect ( parse ( '{var,date,long,short}' ) [ 0 ] . param ) . to . eql ( 'long,short' ) ;
292291 } )
293292
294293 it ( "should accept parameters with whitespace" , function ( ) {
295294 expect ( parse ( '{var,date,y-M-d HH:mm:ss zzzz}' ) [ 0 ] . type ) . to . eql ( 'function' ) ;
296295 expect ( parse ( '{var,date,y-M-d HH:mm:ss zzzz}' ) [ 0 ] . key ) . to . eql ( 'date' ) ;
297- expect ( parse ( '{var,date,y-M-d HH:mm:ss zzzz}' ) [ 0 ] . params [ 0 ] ) . to . eql ( 'y-M-d HH:mm:ss zzzz' ) ;
298- // This is not how ICU works. ICU does not trim whitespace,
299- // but messageformat-parse must trim it to maintain backwards compatibility.
300- expect ( parse ( '{var,date, y-M-d HH:mm:ss zzzz }' ) [ 0 ] . params [ 0 ] ) . to . eql ( 'y-M-d HH:mm:ss zzzz' ) ;
301- // This is how ICU works.
302- expect ( parse ( '{var,date, y-M-d HH:mm:ss zzzz }' , { strictFunctionParams : true } ) [ 0 ] . params [ 0 ] ) . to . eql ( ' y-M-d HH:mm:ss zzzz ' ) ;
296+ expect ( parse ( '{var,date,y-M-d HH:mm:ss zzzz}' ) [ 0 ] . param ) . to . eql ( 'y-M-d HH:mm:ss zzzz' ) ;
297+ expect ( parse ( '{var,date, y-M-d HH:mm:ss zzzz }' ) [ 0 ] . param ) . to . eql ( ' y-M-d HH:mm:ss zzzz ' ) ;
303298 } )
304299
305300 it ( "should accept parameters with special characters" , function ( ) {
306301 expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz}" ) [ 0 ] . type ) . to . eql ( 'function' ) ;
307302 expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz}" ) [ 0 ] . key ) . to . eql ( 'date' ) ;
308- expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz}" ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d {,} ' HH:mm:ss zzzz" ) ;
309- expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz'}'}" ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d {,} ' HH:mm:ss zzzz}" ) ;
310- expect ( parse ( "{var,date,y-M-d # HH:mm:ss zzzz}" ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d # HH:mm:ss zzzz" ) ;
311- expect ( parse ( "{var,date,y-M-d '#' HH:mm:ss zzzz}" ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d '#' HH:mm:ss zzzz" ) ;
312- // This is not how ICU works.
313- expect ( parse ( "{var,date,y-M-d, HH:mm:ss zzzz}" ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d" ) ;
314- expect ( parse ( "{var,date,y-M-d, HH:mm:ss zzzz}" ) [ 0 ] . params [ 1 ] ) . to . eql ( "HH:mm:ss zzzz" ) ;
315- // This is how ICU works, but this only allows a single argStyle parameter.
316- expect ( parse ( "{var,date,y-M-d, HH:mm:ss zzzz}" , { strictFunctionParams : true } ) [ 0 ] . params [ 0 ] ) . to . eql ( "y-M-d, HH:mm:ss zzzz" ) ;
303+ expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz}" ) [ 0 ] . param ) . to . eql ( "y-M-d {,} ' HH:mm:ss zzzz" ) ;
304+ expect ( parse ( "{var,date,y-M-d '{,}' '' HH:mm:ss zzzz'}'}" ) [ 0 ] . param ) . to . eql ( "y-M-d {,} ' HH:mm:ss zzzz}" ) ;
305+ expect ( parse ( "{var,date,y-M-d # HH:mm:ss zzzz}" ) [ 0 ] . param ) . to . eql ( "y-M-d # HH:mm:ss zzzz" ) ;
306+ expect ( parse ( "{var,date,y-M-d '#' HH:mm:ss zzzz}" ) [ 0 ] . param ) . to . eql ( "y-M-d '#' HH:mm:ss zzzz" ) ;
307+ expect ( parse ( "{var,date,y-M-d, HH:mm:ss zzzz}" ) [ 0 ] . param ) . to . eql ( "y-M-d, HH:mm:ss zzzz" ) ;
317308 } )
318309
319- it ( "should be gracious with whitespace" , function ( ) {
320- var firstRes = JSON . stringify ( parse ( '{var, date, long, short}' ) ) ;
321- expect ( JSON . stringify ( parse ( '{ var, date, long, short }' ) ) ) . to . eql ( firstRes ) ;
322- expect ( JSON . stringify ( parse ( '{var,date,long,short}' ) ) ) . to . eql ( firstRes ) ;
323- expect ( JSON . stringify ( parse ( '{\nvar, \ndate,\n long\n\n,\n short\n\n\n}' ) ) ) . to . eql ( firstRes ) ;
324- expect ( JSON . stringify ( parse ( '{\tvar\t,\t\t\r date\t\n, \tlong\n, short\t\n\n\n\n}' ) ) ) . to . eql ( firstRes ) ;
325-
326- // This is not how ICU works. ICU does not trim whitespace.
327- firstRes = JSON . stringify ( parse ( '{var, date, y-M-d HH:mm:ss zzzz}' ) ) ;
328- expect ( JSON . stringify ( parse ( '{ var, date, y-M-d HH:mm:ss zzzz }' ) ) ) . to . eql ( firstRes ) ;
329- expect ( JSON . stringify ( parse ( '{var,date,y-M-d HH:mm:ss zzzz}' ) ) ) . to . eql ( firstRes ) ;
330- expect ( JSON . stringify ( parse ( '{\nvar, \ndate,\n \n\n\n y-M-d HH:mm:ss zzzz\n\n\n}' ) ) ) . to . eql ( firstRes ) ;
331- expect ( JSON . stringify ( parse ( '{\tvar\t,\t\t\r date\t\n, \t\ny-M-d HH:mm:ss zzzz\t\n\n\n\n}' ) ) ) . to . eql ( firstRes ) ;
310+ it ( "should be gracious with whitespace around arg and key" , function ( ) {
311+ var firstRes = JSON . stringify ( parse ( '{var, date}' ) ) ;
312+ expect ( JSON . stringify ( parse ( '{ var, date }' ) ) ) . to . eql ( firstRes ) ;
313+ expect ( JSON . stringify ( parse ( '{var,date}' ) ) ) . to . eql ( firstRes ) ;
314+ expect ( JSON . stringify ( parse ( '{\nvar, \ndate\n}' ) ) ) . to . eql ( firstRes ) ;
332315 } ) ;
333316} ) ;
334317describe ( "Nested/Recursive blocks" , function ( ) {
0 commit comments