Testing Errors
This commit is contained in:
parent
8fd0e6a49f
commit
915fcadb97
|
@ -0,0 +1,16 @@
|
||||||
|
// SPDX-License-Identifier: UNLICENSED
|
||||||
|
pragma solidity ^0.8.20;
|
||||||
|
|
||||||
|
contract Error {
|
||||||
|
error NotAuthorized();
|
||||||
|
|
||||||
|
function throwError() external {
|
||||||
|
require(false, "not authorized");
|
||||||
|
}
|
||||||
|
|
||||||
|
function throwCustomError() external {
|
||||||
|
revert NotAuthorized();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
// SPDX-License-Identifier: UNLICENSED
|
||||||
|
pragma solidity ^0.8.20;
|
||||||
|
|
||||||
|
import "forge-std/Test.sol";
|
||||||
|
import {Error} from "../src/Error.sol";
|
||||||
|
|
||||||
|
contract ErrorTest is Test {
|
||||||
|
Error public err;
|
||||||
|
|
||||||
|
function setUp() public {
|
||||||
|
err = new Error();
|
||||||
|
}
|
||||||
|
|
||||||
|
function testFail() public {
|
||||||
|
err.throwError();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Does the same test as above
|
||||||
|
function testRevert() public {
|
||||||
|
vm.expectRevert();
|
||||||
|
err.throwError();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test with require error message
|
||||||
|
function testRequireMessage() public {
|
||||||
|
vm.expectRevert(bytes("not authorized"));
|
||||||
|
err.throwError();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test custom error
|
||||||
|
function testCustomError() public {
|
||||||
|
vm.expectRevert(Error.NotAuthorized.selector);
|
||||||
|
err.throwCustomError();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Test Error Label
|
||||||
|
function testErrorLabel() public {
|
||||||
|
assertEq(uint(1), uint(1), "test 1");
|
||||||
|
assertEq(uint(1), uint(1), "test 2");
|
||||||
|
assertEq(uint(1), uint(1), "test 3");
|
||||||
|
assertEq(uint(1), uint(1), "test 4");
|
||||||
|
// assertEq(uint(0), uint(2), "test 5");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue