mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-23 06:08:01 +00:00
Merge remote-tracking branch 'origin/main' into sm/js-asserts
This commit is contained in:
@@ -57,6 +57,27 @@ describe("Compile Function Tests", function () {
|
||||
output.contracts["fixtures/token.sol"].MyToken.evm,
|
||||
).to.have.property("bytecode");
|
||||
});
|
||||
|
||||
it("should successfully compile a valid Solidity contract that instantiates the token contracts", async function () {
|
||||
const standardInput = loadFixture("instantiate_tokens.json");
|
||||
|
||||
const result = await compile(standardInput);
|
||||
expect(result).to.be.a("string");
|
||||
const output = JSON.parse(result);
|
||||
expect(output).to.have.property("contracts");
|
||||
expect(output.contracts["fixtures/instantiate_tokens.sol"]).to.have.property(
|
||||
"TokensFactory",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate_tokens.sol"].TokensFactory).to.have.property(
|
||||
"abi",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate_tokens.sol"].TokensFactory).to.have.property(
|
||||
"evm",
|
||||
);
|
||||
expect(
|
||||
output.contracts["fixtures/instantiate_tokens.sol"].TokensFactory.evm,
|
||||
).to.have.property("bytecode");
|
||||
});
|
||||
}
|
||||
|
||||
it("should throw an error for invalid Solidity code", async function () {
|
||||
@@ -85,4 +106,38 @@ describe("Compile Function Tests", function () {
|
||||
'Source "nonexistent/console.sol" not found',
|
||||
);
|
||||
});
|
||||
|
||||
it("should successfully compile a valid Solidity contract that instantiates another contract", async function () {
|
||||
const standardInput = loadFixture("instantiate.json");
|
||||
|
||||
const result = await compile(standardInput);
|
||||
expect(result).to.be.a("string");
|
||||
const output = JSON.parse(result);
|
||||
expect(output).to.have.property("contracts");
|
||||
expect(output.contracts["fixtures/instantiate.sol"]).to.have.property(
|
||||
"ChildContract",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate.sol"].ChildContract).to.have.property(
|
||||
"abi",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate.sol"].ChildContract).to.have.property(
|
||||
"evm",
|
||||
);
|
||||
expect(
|
||||
output.contracts["fixtures/instantiate.sol"].ChildContract.evm,
|
||||
).to.have.property("bytecode");
|
||||
expect(output.contracts["fixtures/instantiate.sol"]).to.have.property(
|
||||
"MainContract",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate.sol"].MainContract).to.have.property(
|
||||
"abi",
|
||||
);
|
||||
expect(output.contracts["fixtures/instantiate.sol"].MainContract).to.have.property(
|
||||
"evm",
|
||||
);
|
||||
expect(
|
||||
output.contracts["fixtures/instantiate.sol"].MainContract.evm,
|
||||
).to.have.property("bytecode");
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user