@@ -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