From 1cba287193c600e1af70dc2e14eddeae546b2f7b Mon Sep 17 00:00:00 2001 From: YYY <0xYYY@protonmail.com> Date: Sat, 23 Apr 2022 16:40:34 +0800 Subject: [PATCH] solc: adjust flatten format (#1172) --- ethers-solc/src/config.rs | 5 +++-- ethers-solc/tests/project.rs | 16 ++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ethers-solc/src/config.rs b/ethers-solc/src/config.rs index 3b67de83..261b5b38 100644 --- a/ethers-solc/src/config.rs +++ b/ethers-solc/src/config.rs @@ -250,7 +250,9 @@ impl ProjectPathsConfig { pub fn flatten(&self, target: &Path) -> Result { tracing::trace!("flattening file"); let graph = Graph::resolve(self)?; - self.flatten_node(target, &graph, &mut Default::default(), false, false, false) + self.flatten_node(target, &graph, &mut Default::default(), false, false, false).map(|x| { + format!("{}\n", utils::RE_THREE_OR_MORE_NEWLINES.replace_all(&x, "\n\n").trim()) + }) } /// Flattens a single node from the dependency graph @@ -321,7 +323,6 @@ impl ProjectPathsConfig { let result = String::from_utf8(content).map_err(|err| { SolcError::msg(format!("failed to convert extended bytes to string: {}", err)) })?; - let result = utils::RE_THREE_OR_MORE_NEWLINES.replace_all(&result, "\n\n").into_owned(); Ok(result) } diff --git a/ethers-solc/tests/project.rs b/ethers-solc/tests/project.rs index e53efe22..2957c8cc 100644 --- a/ethers-solc/tests/project.rs +++ b/ethers-solc/tests/project.rs @@ -490,8 +490,7 @@ contract C { } assert_eq!( result, - r#" -pragma solidity ^0.8.10; + r#"pragma solidity ^0.8.10; contract C { } @@ -547,8 +546,7 @@ contract C { } assert_eq!( result, - r#" -pragma solidity ^0.8.10; + r#"pragma solidity ^0.8.10; pragma experimental ABIEncoderV2; contract C { } @@ -656,7 +654,7 @@ contract C { } let result = project.flatten(&f).unwrap(); assert_eq!( - result.trim(), + result, r#"pragma solidity ^0.8.10; contract C { } @@ -664,7 +662,8 @@ contract C { } error IllegalArgument(); error IllegalState(); -contract A { }"# +contract A { } +"# ); } @@ -707,7 +706,7 @@ contract C { } let result = project.flatten(&f).unwrap(); assert_eq!( - result.trim(), + result, r#"pragma solidity ^0.8.10; contract C { } @@ -716,7 +715,8 @@ contract C { } contract B { } -contract A { }"# +contract A { } +"# ); }