diff options
Diffstat (limited to 'common/natspec/natspec_test.go')
-rw-r--r-- | common/natspec/natspec_test.go | 89 |
1 files changed, 40 insertions, 49 deletions
diff --git a/common/natspec/natspec_test.go b/common/natspec/natspec_test.go index 35a59469a..05df9e750 100644 --- a/common/natspec/natspec_test.go +++ b/common/natspec/natspec_test.go @@ -4,70 +4,65 @@ import ( "testing" ) -func makeUserdoc(desc string) []byte { +func makeInfoDoc(desc string) []byte { return []byte(` { - "source": "...", + "source": "contract test { }", "language": "Solidity", - "languageVersion": 1, - "methods": { - "multiply(uint256)": { - "notice": "` + desc + `" + "compilerVersion": "1", + "userDoc": { + "methods": { + "multiply(uint256)": { + "notice": "` + desc + `" + }, + "balance(address)": { + "notice": "` + "`(balanceInmGAV / 1000).fixed(0,3)`" + ` GAV is the total funds available to ` + "`who.address()`." + `" + } }, - "balance(address)": { - "notice": "` + "`(balanceInmGAV / 1000).fixed(0,3)`" + ` GAV is the total funds available to ` + "`who.address()`." + `" - } + "invariants": [ + { "notice": "The sum total amount of GAV in the system is 1 million." } + ], + "construction": [ + { "notice": "Endows ` + "`message.caller.address()`" + ` with 1m GAV." } + ] }, - "invariants": [ - { "notice": "The sum total amount of GAV in the system is 1 million." } - ], - "construction": [ - { "notice": "Endows ` + "`message.caller.address()`" + ` with 1m GAV." } - ] -} -`) + "abiDefinition": [{ + "name": "multiply", + "constant": false, + "type": "function", + "inputs": [{ + "name": "a", + "type": "uint256" + }], + "outputs": [{ + "name": "d", + "type": "uint256" + }] + }] +}`) } var data = "0xc6888fa1000000000000000000000000000000000000000000000000000000000000007a" var tx = ` { - "jsonrpc": "2.0", - "method": "eth_call", "params": [{ "to": "0x8521742d3f456bd237e312d6e30724960f72517a", "data": "0xc6888fa1000000000000000000000000000000000000000000000000000000000000007a" }], - "id": 6 } ` -var abi = []byte(` -[{ - "name": "multiply", - "constant": false, - "type": "function", - "inputs": [{ - "name": "a", - "type": "uint256" - }], - "outputs": [{ - "name": "d", - "type": "uint256" - }] -}] -`) - func TestNotice(t *testing.T) { desc := "Will multiply `a` by 7 and return `a * 7`." expected := "Will multiply 122 by 7 and return 854." - userdoc := makeUserdoc(desc) - - ns, err := NewWithDocs(abi, userdoc, tx) + infodoc := makeInfoDoc(desc) + ns, err := NewWithDocs(infodoc, tx, data) if err != nil { t.Errorf("New: error: %v", err) + return } notice, err := ns.Notice() @@ -78,8 +73,6 @@ func TestNotice(t *testing.T) { if notice != expected { t.Errorf("incorrect notice. expected %v, got %v", expected, notice) - } else { - t.Logf("returned notice \"%v\"", notice) } } @@ -87,10 +80,10 @@ func TestNotice(t *testing.T) { func TestMissingMethod(t *testing.T) { desc := "Will multiply `a` by 7 and return `a * 7`." - userdoc := makeUserdoc(desc) expected := "natspec.js error evaluating expression: Natspec evaluation failed, method does not exist" - ns, err := NewWithDocs(abi, userdoc, tx) + infodoc := makeInfoDoc(desc) + ns, err := NewWithDocs(infodoc, tx, data) if err != nil { t.Errorf("New: error: %v", err) } @@ -113,9 +106,8 @@ func TestInvalidDesc(t *testing.T) { desc := "Will multiply 122 by \"7\" and return 854." expected := "invalid character '7' after object key:value pair" - userdoc := makeUserdoc(desc) - - _, err := NewWithDocs(abi, userdoc, tx) + infodoc := makeInfoDoc(desc) + _, err := NewWithDocs(infodoc, tx, data) if err == nil { t.Errorf("expected error, got nothing", err) } else { @@ -131,9 +123,8 @@ func TestWrongInputParams(t *testing.T) { desc := "Will multiply `e` by 7 and return `a * 7`." expected := "natspec.js error evaluating expression: Natspec evaluation failed, wrong input params" - userdoc := makeUserdoc(desc) - - ns, err := NewWithDocs(abi, userdoc, tx) + infodoc := makeInfoDoc(desc) + ns, err := NewWithDocs(infodoc, tx, data) if err != nil { t.Errorf("New: error: %v", err) } |