solidity-antlr4
Version:
Solidity Lang Lexer and Parser by official ANTLR4 grammar
26 lines (25 loc) • 1.03 kB
JavaScript
;
var _utils = require("./utils.test.cjs");
var _vitest = require("vitest");
(0, _vitest.test)("typeName", () => {
(0, _vitest.expect)((0, _utils.createParse)(p => p.typeName())(`address`)).toBe("address");
(0, _vitest.expect)((0, _utils.createParse)(p => p.typeName())(`bytes`)).toBe("bytes");
(0, _vitest.expect)((0, _utils.createParse)(p => p.typeName())(`function(address user) public pure returns(bool)`)).toMatchObject({
visibility: "public",
stateMutability: "pure",
parameters: [{
name: "user",
typeName: "address"
}],
returnParameters: [{
name: null,
typeName: "bool"
}]
});
(0, _vitest.expect)((0, _utils.createParse)(p => p.typeName())(`mapping(address => uint)`)).toMatchObject({
keyType: "address",
valueType: "uint"
});
(0, _vitest.expect)((0, _utils.createParse)(p => p.elementaryTypeName(true))(`address payable`)).toBe("address");
(0, _vitest.expect)((0, _utils.createParse)(p => p.typeName())(`uint128[]`)).toBe("uint128[]");
});