@@ -117,8 +117,14 @@ describe('format', it => {
117117 assert . equal ( format ( '[%b]' , 25 ) , '[11001]' ) ;
118118 assert . equal ( format ( '[%o]' , 25 ) , '[31]' ) ;
119119 assert . equal ( format ( '[%X]' , 16776960 ) , '[FFFF00]' ) ;
120+ assert . equal ( format ( '[%%%s]' , 25 ) , '[%25]' ) ;
120121 assert . equal ( format ( '[%s%%]' , 25 ) , '[25%]' ) ;
121122 assert . equal ( format ( '[%d%d]' , 1 , 5 ) , '[15]' ) ;
123+
124+ // Multi-parameter formats
125+ assert . equal ( format ( '%d %s' , 255 , 'Foo Bar' ) , '255 Foo Bar' ) ;
126+ assert . equal ( format ( '%{0}d %{1}s' , 255 , 'Foo Bar' ) , '255 Foo Bar' ) ;
127+ assert . equal ( format ( '%{1}d %{0}s' , 'Foo Bar' , 255 ) , '255 Foo Bar' ) ;
122128 } ) ;
123129
124130 it ( 'it able to parse messages to formatting lists' , assert => {
@@ -186,5 +192,13 @@ describe('format', it => {
186192 } ,
187193 { type : '📝' , text : 'b' } ,
188194 ] ) ;
195+
196+ assert . deepEqual ( parseMessageToFormattingList ( `a %{1}s b %{0}$ c` ) , [
197+ { type : '📝' , text : 'a ' } ,
198+ { type : 's' , index : 1 } ,
199+ { type : '📝' , text : ' b ' } ,
200+ { type : '$' , index : 0 } ,
201+ { type : '📝' , text : ' c' } ,
202+ ] ) ;
189203 } ) ;
190204} ) ;
0 commit comments