Fix 'Pair' formatter inside forced unbroken components.
This commit is contained in:
@@ -998,14 +998,12 @@ impl<'comments> Formatter<'comments> {
|
||||
wrap_args(elems.iter().map(|e| (self.wrap_expr(e), false))).group()
|
||||
}
|
||||
|
||||
UntypedExpr::Pair { fst, snd, .. } => "Pair"
|
||||
.to_doc()
|
||||
.append("(")
|
||||
.append(self.expr(fst, false))
|
||||
.append(break_(",", ", "))
|
||||
.append(self.expr(snd, false))
|
||||
.append(")")
|
||||
.group(),
|
||||
UntypedExpr::Pair { fst, snd, .. } => {
|
||||
let elems = [fst, snd];
|
||||
"Pair"
|
||||
.to_doc()
|
||||
.append(wrap_args(elems.iter().map(|e| (self.wrap_expr(e), false))).group())
|
||||
}
|
||||
|
||||
UntypedExpr::TupleIndex { index, tuple, .. } => {
|
||||
let suffix = Ordinal(*index + 1).suffix().to_doc();
|
||||
|
||||
@@ -1116,3 +1116,27 @@ fn format_long_imports() {
|
||||
"#
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn format_long_pair() {
|
||||
assert_format!(
|
||||
r#"
|
||||
test foo() {
|
||||
expect(Some([
|
||||
Pair(GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain),
|
||||
])) == whatever
|
||||
|
||||
expect(Some([
|
||||
Foo(GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain),
|
||||
])) == whatever
|
||||
|
||||
expect(Some([
|
||||
(GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain),
|
||||
])) == whatever
|
||||
}
|
||||
"#
|
||||
);
|
||||
}
|
||||
|
||||
35
crates/aiken-lang/src/tests/snapshots/format_long_pair.snap
Normal file
35
crates/aiken-lang/src/tests/snapshots/format_long_pair.snap
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
source: crates/aiken-lang/src/tests/format.rs
|
||||
description: "Code:\n\ntest foo() {\n expect(Some([\n Pair(GovernanceActionId { transaction: only7s, proposal_procedure: 2 },\n Abstain),\n ])) == whatever\n\n expect(Some([\n Foo(GovernanceActionId { transaction: only7s, proposal_procedure: 2 },\n Abstain),\n ])) == whatever\n\n expect(Some([\n (GovernanceActionId { transaction: only7s, proposal_procedure: 2 },\n Abstain),\n ])) == whatever\n}\n"
|
||||
---
|
||||
test foo() {
|
||||
expect
|
||||
Some(
|
||||
[
|
||||
Pair(
|
||||
GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain,
|
||||
),
|
||||
],
|
||||
) == whatever
|
||||
|
||||
expect
|
||||
Some(
|
||||
[
|
||||
Foo(
|
||||
GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain,
|
||||
),
|
||||
],
|
||||
) == whatever
|
||||
|
||||
expect
|
||||
Some(
|
||||
[
|
||||
(
|
||||
GovernanceActionId { transaction: only7s, proposal_procedure: 2 },
|
||||
Abstain,
|
||||
),
|
||||
],
|
||||
) == whatever
|
||||
}
|
||||
Reference in New Issue
Block a user