Always include a position span in rustc_parse_format::Argument
This commit is contained in:
parent
482153bc20
commit
2a0b51d852
6 changed files with 96 additions and 41 deletions
|
@ -58,14 +58,22 @@ fn invalid06() {
|
|||
|
||||
#[test]
|
||||
fn format_nothing() {
|
||||
same("{}", &[NextArgument(Argument { position: ArgumentImplicitlyIs(0), format: fmtdflt() })]);
|
||||
same(
|
||||
"{}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
);
|
||||
}
|
||||
#[test]
|
||||
fn format_position() {
|
||||
same(
|
||||
"{3}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
);
|
||||
|
@ -75,17 +83,30 @@ fn format_position_nothing_else() {
|
|||
same(
|
||||
"{3:}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
);
|
||||
}
|
||||
#[test]
|
||||
fn format_named() {
|
||||
same(
|
||||
"{name}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentNamed("name"),
|
||||
position_span: InnerSpan { start: 2, end: 6 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
)
|
||||
}
|
||||
#[test]
|
||||
fn format_type() {
|
||||
same(
|
||||
"{3:x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -105,7 +126,8 @@ fn format_align_fill() {
|
|||
same(
|
||||
"{3:>}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignRight,
|
||||
|
@ -122,7 +144,8 @@ fn format_align_fill() {
|
|||
same(
|
||||
"{3:0<}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: FormatSpec {
|
||||
fill: Some('0'),
|
||||
align: AlignLeft,
|
||||
|
@ -139,7 +162,8 @@ fn format_align_fill() {
|
|||
same(
|
||||
"{3:*<abcd}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: FormatSpec {
|
||||
fill: Some('*'),
|
||||
align: AlignLeft,
|
||||
|
@ -160,6 +184,7 @@ fn format_counts() {
|
|||
"{:10x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -177,6 +202,7 @@ fn format_counts() {
|
|||
"{:10$.10x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -193,7 +219,8 @@ fn format_counts() {
|
|||
same(
|
||||
"{1:0$.10x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentIs(1, Some(InnerSpan { start: 2, end: 3 })),
|
||||
position: ArgumentIs(1),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -211,6 +238,7 @@ fn format_counts() {
|
|||
"{:.*x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(1),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -228,6 +256,7 @@ fn format_counts() {
|
|||
"{:.10$x}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -245,6 +274,7 @@ fn format_counts() {
|
|||
"{:a$.b$?}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -265,6 +295,7 @@ fn format_flags() {
|
|||
"{:-}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -282,6 +313,7 @@ fn format_flags() {
|
|||
"{:+#}",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 2 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -303,7 +335,8 @@ fn format_mixture() {
|
|||
&[
|
||||
String("abcd "),
|
||||
NextArgument(Argument {
|
||||
position: ArgumentIs(3, Some(InnerSpan { start: 7, end: 8 })),
|
||||
position: ArgumentIs(3),
|
||||
position_span: InnerSpan { start: 7, end: 8 },
|
||||
format: FormatSpec {
|
||||
fill: None,
|
||||
align: AlignUnknown,
|
||||
|
@ -320,3 +353,22 @@ fn format_mixture() {
|
|||
],
|
||||
);
|
||||
}
|
||||
#[test]
|
||||
fn format_whitespace() {
|
||||
same(
|
||||
"{ }",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 3 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
);
|
||||
same(
|
||||
"{ }",
|
||||
&[NextArgument(Argument {
|
||||
position: ArgumentImplicitlyIs(0),
|
||||
position_span: InnerSpan { start: 2, end: 4 },
|
||||
format: fmtdflt(),
|
||||
})],
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue