chore(parser): format tests

This commit is contained in:
Guillem L. Jara
2026-05-19 16:48:00 +02:00
parent 4b6a76e0a7
commit 49dfed25d8
2 changed files with 43 additions and 91 deletions
+13 -3
View File
@@ -72,13 +72,13 @@ impl Debug for Statement<'_> {
update,
body,
} => {
write!(f, "(for")?;
if alt {
write!(f, "(for")?;
let write_fragment = |f: &mut Formatter, x: Option<&dyn Debug>| {
if let Some(x) = x {
write!(f, "\n{pad}{x:?}")
} else {
write!(f, "\n{pad}None")
write!(f, "\n{pad}(pass)")
}
};
write_fragment(f, init.as_ref().map(|x| x as _))?;
@@ -86,7 +86,17 @@ impl Debug for Statement<'_> {
write_fragment(f, update.as_ref().map(|x| x as _))?;
write!(f, "\n{pad}{body:#ni$?})")
} else {
write!(f, "(for {init:?} {condition:?} {update:?} {body:?})")
let write_fragment = |f: &mut Formatter, x: Option<&dyn Debug>| {
if let Some(x) = x {
write!(f, " {x:?}")
} else {
write!(f, " (pass)")
}
};
write_fragment(f, init.as_ref().map(|x| x as _))?;
write_fragment(f, condition.as_ref().map(|x| x as _))?;
write_fragment(f, update.as_ref().map(|x| x as _))?;
write!(f, " {body:?})")
}
}
Self::ForEach {
+30 -88
View File
@@ -228,7 +228,9 @@ fn test_parser_inc_dec() {
(None, Some("(body (Concat (IncrementL awk::a) (DecrementR (Record 0))))")),
(
None,
Some("(body (Concat (DecrementL (Index awk::a 2)) (IncrementL (Record (Add 1 1)))))")
Some(
"(body (Concat (DecrementL (Index awk::a 2)) (IncrementL (Record (Add 1 1)))))"
)
),
(None, Some("(body (Concat (IncrementR awk::a) (DecrementR (Index awk::a \"x\"))))")),
(None, Some("(body (Concat (DecrementL awk::a) (IncrementR (Record \"a\"))))")),
@@ -252,9 +254,17 @@ fn test_parser_arrays() {
rules: [
(
None,
Some("(body (Index awk::a 1) (Assignment (Index awk::a 1) (Assignment awk::x (Assignment (Index awk::b 2) (Add 2 2)))))")
Some("(body (Index awk::a 1) \
(Assignment (Index awk::a 1) \
(Assignment awk::x (Assignment (Index awk::b 2) (Add 2 2)))))"
)
),
(
None,
Some("(body (IncrementL (Index awk::a 1)) \
(Print (DecrementR (Index awk::b awk::a))))"
)
),
(None, Some("(body (IncrementL (Index awk::a 1)) (Print (DecrementR (Index awk::b awk::a))))")),
(None, Some("(body (AddAssign (Index awk::a 1 2 3 \"a\") 1))")),
(None, Some("(body (Print (In awk::arr awk::a) (In awk::arr 1 2 \"a\")))")),
(None, Some("(body (Print (Record (In awk::a 1 2))))")),
@@ -277,10 +287,10 @@ fn test_parser_for_loop() {
{ for (; i < n; i++) print }
{ for (i = 0; ; i++) print }
{ for (i = 0; i < n;) print }
{ for (; ; i++) print }
{ for (;; i++) print }
{ for (; i < n;) print }
{ for (i = 0; ;) print }
{ for (; ;) print }
{ for (;;) print }
{ for ((i in arr); a; b) print }
{ for (((i, 2) in arr); ;) print }
{ for (k in array) print }
@@ -290,99 +300,31 @@ fn test_parser_for_loop() {
rules: [
(
None,
Some("(body (for \
Some((Assignment awk::i 0)) \
Some((Lt awk::i awk::n)) \
Some((IncrementR awk::i)) \
(body (Print))))"
)
),
(
None,
Some("(body (for \
None \
Some((Lt awk::i awk::n)) \
Some((IncrementR awk::i)) \
(body (Print))))"
)
Some("(body (for (Assignment awk::i 0) (Lt awk::i awk::n) (IncrementR awk::i) \
(body (Print))))")
),
(
None,
Some("(body (for \
Some((Assignment awk::i 0)) \
None \
Some((IncrementR awk::i)) \
(body (Print))))"
)
Some("(body (for (pass) (Lt awk::i awk::n) (IncrementR awk::i) \
(body (Print))))")
),
(
None,
Some("(body (for \
Some((Assignment awk::i 0)) \
Some((Lt awk::i awk::n)) \
None \
(body (Print))))"
)
Some("(body (for (Assignment awk::i 0) (pass) (IncrementR awk::i) \
(body (Print))))")
),
(
None,
Some("(body (for \
None \
None \
Some((IncrementR awk::i)) \
(body (Print))))"
)
),
(
None,
Some("(body (for \
None \
Some((Lt awk::i awk::n)) \
None \
(body (Print))))"
)
),
(
None,
Some("(body (for \
Some((Assignment awk::i 0)) \
None \
None \
(body (Print))))"
)
),
(
None,
Some("(body (for \
None \
None \
None \
(body (Print))))"
)
),
(
None,
Some("(body (for \
Some((In awk::arr awk::i)) \
Some(awk::a) \
Some(awk::b) \
(body (Print))))"
)
),
(
None,
Some("(body (for \
Some((In awk::arr awk::i 2)) \
None \
None \
(body (Print))))"
)
),
(
None,
Some("(body (for-each awk::k awk::array (body (Print))))"
)
Some("(body (for (Assignment awk::i 0) (Lt awk::i awk::n) (pass) \
(body (Print))))")
),
(None, Some("(body (for (pass) (pass) (IncrementR awk::i) (body (Print))))")),
(None, Some("(body (for (pass) (Lt awk::i awk::n) (pass) (body (Print))))")),
(None, Some("(body (for (Assignment awk::i 0) (pass) (pass) (body (Print))))")),
(None, Some("(body (for (pass) (pass) (pass) (body (Print))))")),
(None, Some("(body (for (In awk::arr awk::i) awk::a awk::b (body (Print))))")),
(None, Some("(body (for (In awk::arr awk::i 2) (pass) (pass) (body (Print))))")),
(None, Some("(body (for-each awk::k awk::array (body (Print))))")),
],
}
);