use std::path::PathBuf;
use revive_solc_json_interface::SolcStandardJsonInput;
use crate::test_utils::build_yul_standard_json;
#[test]
fn standard_json_yul_solc() {
let solc_input = SolcStandardJsonInput::try_from(Some(
PathBuf::from("src/tests/data/standard_json/yul_solc.json").as_path(),
))
.unwrap();
let solc_output = build_yul_standard_json(solc_input).unwrap();
assert!(!solc_output
.contracts
.get("Test")
.expect("The `Test` contract is missing")
.get("Return")
.expect("The `Return` contract is missing")
.evm
.as_ref()
.expect("The `evm` field is missing")
.bytecode
.as_ref()
.expect("The `bytecode` field is missing")
.object
.is_empty())
}
#[test]
fn standard_json_yul_solc_urls() {
let solc_input = SolcStandardJsonInput::try_from(Some(
PathBuf::from("src/tests/data/standard_json/yul_solc_urls.json").as_path(),
))
.unwrap();
let solc_output = build_yul_standard_json(solc_input).unwrap();
assert!(!solc_output
.contracts
.get("Test")
.expect("The `Test` contract is missing")
.get("Return")
.expect("The `Return` contract is missing")
.evm
.as_ref()
.expect("The `evm` field is missing")
.bytecode
.as_ref()
.expect("The `bytecode` field is missing")
.object
.is_empty())
}