@@ -58,14 +58,22 @@ fn invalid06() {
5858
5959#[ test]
6060fn format_nothing ( ) {
61- same ( "{}" , & [ NextArgument ( Argument { position : ArgumentImplicitlyIs ( 0 ) , format : fmtdflt ( ) } ) ] ) ;
61+ same (
62+ "{}" ,
63+ & [ NextArgument ( Argument {
64+ position : ArgumentImplicitlyIs ( 0 ) ,
65+ position_span : InnerSpan { start : 2 , end : 2 } ,
66+ format : fmtdflt ( ) ,
67+ } ) ] ,
68+ ) ;
6269}
6370#[ test]
6471fn format_position ( ) {
6572 same (
6673 "{3}" ,
6774 & [ NextArgument ( Argument {
68- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
75+ position : ArgumentIs ( 3 ) ,
76+ position_span : InnerSpan { start : 2 , end : 3 } ,
6977 format : fmtdflt ( ) ,
7078 } ) ] ,
7179 ) ;
@@ -75,17 +83,30 @@ fn format_position_nothing_else() {
7583 same (
7684 "{3:}" ,
7785 & [ NextArgument ( Argument {
78- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
86+ position : ArgumentIs ( 3 ) ,
87+ position_span : InnerSpan { start : 2 , end : 3 } ,
7988 format : fmtdflt ( ) ,
8089 } ) ] ,
8190 ) ;
8291}
8392#[ test]
93+ fn format_named ( ) {
94+ same (
95+ "{name}" ,
96+ & [ NextArgument ( Argument {
97+ position : ArgumentNamed ( "name" ) ,
98+ position_span : InnerSpan { start : 2 , end : 6 } ,
99+ format : fmtdflt ( ) ,
100+ } ) ] ,
101+ )
102+ }
103+ #[ test]
84104fn format_type ( ) {
85105 same (
86106 "{3:x}" ,
87107 & [ NextArgument ( Argument {
88- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
108+ position : ArgumentIs ( 3 ) ,
109+ position_span : InnerSpan { start : 2 , end : 3 } ,
89110 format : FormatSpec {
90111 fill : None ,
91112 align : AlignUnknown ,
@@ -105,7 +126,8 @@ fn format_align_fill() {
105126 same (
106127 "{3:>}" ,
107128 & [ NextArgument ( Argument {
108- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
129+ position : ArgumentIs ( 3 ) ,
130+ position_span : InnerSpan { start : 2 , end : 3 } ,
109131 format : FormatSpec {
110132 fill : None ,
111133 align : AlignRight ,
@@ -122,7 +144,8 @@ fn format_align_fill() {
122144 same (
123145 "{3:0<}" ,
124146 & [ NextArgument ( Argument {
125- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
147+ position : ArgumentIs ( 3 ) ,
148+ position_span : InnerSpan { start : 2 , end : 3 } ,
126149 format : FormatSpec {
127150 fill : Some ( '0' ) ,
128151 align : AlignLeft ,
@@ -139,7 +162,8 @@ fn format_align_fill() {
139162 same (
140163 "{3:*<abcd}" ,
141164 & [ NextArgument ( Argument {
142- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
165+ position : ArgumentIs ( 3 ) ,
166+ position_span : InnerSpan { start : 2 , end : 3 } ,
143167 format : FormatSpec {
144168 fill : Some ( '*' ) ,
145169 align : AlignLeft ,
@@ -160,6 +184,7 @@ fn format_counts() {
160184 "{:10x}" ,
161185 & [ NextArgument ( Argument {
162186 position : ArgumentImplicitlyIs ( 0 ) ,
187+ position_span : InnerSpan { start : 2 , end : 2 } ,
163188 format : FormatSpec {
164189 fill : None ,
165190 align : AlignUnknown ,
@@ -177,6 +202,7 @@ fn format_counts() {
177202 "{:10$.10x}" ,
178203 & [ NextArgument ( Argument {
179204 position : ArgumentImplicitlyIs ( 0 ) ,
205+ position_span : InnerSpan { start : 2 , end : 2 } ,
180206 format : FormatSpec {
181207 fill : None ,
182208 align : AlignUnknown ,
@@ -193,7 +219,8 @@ fn format_counts() {
193219 same (
194220 "{1:0$.10x}" ,
195221 & [ NextArgument ( Argument {
196- position : ArgumentIs ( 1 , Some ( InnerSpan { start : 2 , end : 3 } ) ) ,
222+ position : ArgumentIs ( 1 ) ,
223+ position_span : InnerSpan { start : 2 , end : 3 } ,
197224 format : FormatSpec {
198225 fill : None ,
199226 align : AlignUnknown ,
@@ -211,6 +238,7 @@ fn format_counts() {
211238 "{:.*x}" ,
212239 & [ NextArgument ( Argument {
213240 position : ArgumentImplicitlyIs ( 1 ) ,
241+ position_span : InnerSpan { start : 2 , end : 2 } ,
214242 format : FormatSpec {
215243 fill : None ,
216244 align : AlignUnknown ,
@@ -228,6 +256,7 @@ fn format_counts() {
228256 "{:.10$x}" ,
229257 & [ NextArgument ( Argument {
230258 position : ArgumentImplicitlyIs ( 0 ) ,
259+ position_span : InnerSpan { start : 2 , end : 2 } ,
231260 format : FormatSpec {
232261 fill : None ,
233262 align : AlignUnknown ,
@@ -245,6 +274,7 @@ fn format_counts() {
245274 "{:a$.b$?}" ,
246275 & [ NextArgument ( Argument {
247276 position : ArgumentImplicitlyIs ( 0 ) ,
277+ position_span : InnerSpan { start : 2 , end : 2 } ,
248278 format : FormatSpec {
249279 fill : None ,
250280 align : AlignUnknown ,
@@ -265,6 +295,7 @@ fn format_flags() {
265295 "{:-}" ,
266296 & [ NextArgument ( Argument {
267297 position : ArgumentImplicitlyIs ( 0 ) ,
298+ position_span : InnerSpan { start : 2 , end : 2 } ,
268299 format : FormatSpec {
269300 fill : None ,
270301 align : AlignUnknown ,
@@ -282,6 +313,7 @@ fn format_flags() {
282313 "{:+#}" ,
283314 & [ NextArgument ( Argument {
284315 position : ArgumentImplicitlyIs ( 0 ) ,
316+ position_span : InnerSpan { start : 2 , end : 2 } ,
285317 format : FormatSpec {
286318 fill : None ,
287319 align : AlignUnknown ,
@@ -303,7 +335,8 @@ fn format_mixture() {
303335 & [
304336 String ( "abcd " ) ,
305337 NextArgument ( Argument {
306- position : ArgumentIs ( 3 , Some ( InnerSpan { start : 7 , end : 8 } ) ) ,
338+ position : ArgumentIs ( 3 ) ,
339+ position_span : InnerSpan { start : 7 , end : 8 } ,
307340 format : FormatSpec {
308341 fill : None ,
309342 align : AlignUnknown ,
@@ -320,3 +353,22 @@ fn format_mixture() {
320353 ] ,
321354 ) ;
322355}
356+ #[ test]
357+ fn format_whitespace ( ) {
358+ same (
359+ "{ }" ,
360+ & [ NextArgument ( Argument {
361+ position : ArgumentImplicitlyIs ( 0 ) ,
362+ position_span : InnerSpan { start : 2 , end : 3 } ,
363+ format : fmtdflt ( ) ,
364+ } ) ] ,
365+ ) ;
366+ same (
367+ "{ }" ,
368+ & [ NextArgument ( Argument {
369+ position : ArgumentImplicitlyIs ( 0 ) ,
370+ position_span : InnerSpan { start : 2 , end : 4 } ,
371+ format : fmtdflt ( ) ,
372+ } ) ] ,
373+ ) ;
374+ }
0 commit comments