diff --git a/ethers-solc/src/project_util/mod.rs b/ethers-solc/src/project_util/mod.rs index 5b2b95d8..7d0c8b22 100644 --- a/ethers-solc/src/project_util/mod.rs +++ b/ethers-solc/src/project_util/mod.rs @@ -185,6 +185,7 @@ impl TempProject { version: impl AsRef, ) -> Result { let name = name.as_ref(); + let name = name.strip_suffix(".sol").unwrap_or(name); self.add_lib( name, format!( @@ -213,6 +214,7 @@ contract {} {{}} version: impl AsRef, ) -> Result { let name = name.as_ref(); + let name = name.strip_suffix(".sol").unwrap_or(name); self.add_source( name, format!( diff --git a/ethers-solc/tests/project.rs b/ethers-solc/tests/project.rs index cb3cbdfd..0a0a023b 100644 --- a/ethers-solc/tests/project.rs +++ b/ethers-solc/tests/project.rs @@ -2150,14 +2150,15 @@ fn can_add_basic_contract_and_library() { let src = project.add_basic_source("Foo.sol", "^0.8.0").unwrap(); - let lib = project.add_basic_source("Bar.sol", "^0.8.0").unwrap(); + let lib = project.add_basic_source("Bar", "^0.8.0").unwrap(); let graph = Graph::resolve(project.paths()).unwrap(); assert_eq!(graph.files().len(), 2); - assert_eq!(graph.files().clone(), HashMap::from([(src, 0), (lib, 1),])); + assert!(graph.files().contains_key(&src)); + assert!(graph.files().contains_key(&lib)); let compiled = project.compile().unwrap(); + assert!(!compiled.has_compiler_errors()); assert!(compiled.find_first("Foo").is_some()); assert!(compiled.find_first("Bar").is_some()); - assert!(!compiled.has_compiler_errors()); }