3 fn same(fmt: &'static str, p: &[Piece<'static>]) {
4 let parser = Parser::new(fmt, None, vec![], false);
5 assert_eq!(parser.collect::<Vec<Piece<'static>>>(), p);
8 fn fmtdflt() -> FormatSpec<'static> {
13 precision: CountImplied,
23 let mut p = Parser::new(s, None, vec![], false);
25 assert!(!p.errors.is_empty());
30 same("asdf", &[String("asdf")]);
31 same("a{{b", &[String("a"), String("{b")]);
32 same("a}}b", &[String("a"), String("}b")]);
33 same("a}}", &[String("a"), String("}")]);
34 same("}}", &[String("}")]);
35 same("\\}}", &[String("\\"), String("}")]);
62 &[NextArgument(Argument {
63 position: ArgumentImplicitlyIs(0),
68 fn format_position() {
70 &[NextArgument(Argument {
71 position: ArgumentIs(3),
76 fn format_position_nothing_else() {
78 &[NextArgument(Argument {
79 position: ArgumentIs(3),
87 &[NextArgument(Argument {
88 position: ArgumentIs(3),
93 precision: CountImplied,
103 fn format_align_fill() {
106 &[NextArgument(Argument {
107 position: ArgumentIs(3),
112 precision: CountImplied,
114 precision_span: None,
122 &[NextArgument(Argument {
123 position: ArgumentIs(3),
128 precision: CountImplied,
130 precision_span: None,
138 &[NextArgument(Argument {
139 position: ArgumentIs(3),
144 precision: CountImplied,
146 precision_span: None,
149 ty_span: Some(InnerSpan::new(6, 10)),
155 use syntax_pos::{GLOBALS, Globals, edition};
156 GLOBALS.set(&Globals::new(edition::DEFAULT_EDITION), || {
159 &[NextArgument(Argument {
160 position: ArgumentImplicitlyIs(0),
165 precision: CountImplied,
167 precision_span: None,
175 &[NextArgument(Argument {
176 position: ArgumentImplicitlyIs(0),
181 precision: CountIs(10),
182 width: CountIsParam(10),
183 precision_span: None,
184 width_span: Some(InnerSpan::new(3, 6)),
191 &[NextArgument(Argument {
192 position: ArgumentImplicitlyIs(1),
197 precision: CountIsParam(0),
199 precision_span: Some(InnerSpan::new(3, 5)),
207 &[NextArgument(Argument {
208 position: ArgumentImplicitlyIs(0),
213 precision: CountIsParam(10),
215 precision_span: Some(InnerSpan::new(3, 7)),
223 &[NextArgument(Argument {
224 position: ArgumentImplicitlyIs(0),
229 precision: CountIsName(Symbol::intern("b")),
230 width: CountIsName(Symbol::intern("a")),
231 precision_span: None,
243 &[NextArgument(Argument {
244 position: ArgumentImplicitlyIs(0),
248 flags: (1 << FlagSignMinus as u32),
249 precision: CountImplied,
251 precision_span: None,
259 &[NextArgument(Argument {
260 position: ArgumentImplicitlyIs(0),
264 flags: (1 << FlagSignPlus as u32) | (1 << FlagAlternate as u32),
265 precision: CountImplied,
267 precision_span: None,
275 fn format_mixture() {
280 NextArgument(Argument {
281 position: ArgumentIs(3),
286 precision: CountImplied,
288 precision_span: None,