diff options
author | chriseth <chris@ethereum.org> | 2018-09-06 23:30:51 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-09-10 20:38:48 +0800 |
commit | 3b7be594cf046cc34864cefbd3cf0f5159770163 (patch) | |
tree | 77a6636ab3583bbd240e1203ab8fd6b6d7819cc2 /test | |
parent | be713ed1176c4dee2c1e444d41e5a72ab9caf115 (diff) | |
download | dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar.gz dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar.bz2 dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar.lz dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar.xz dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.tar.zst dexon-solidity-3b7be594cf046cc34864cefbd3cf0f5159770163.zip |
Update bug description, add regex and tests.
Diffstat (limited to 'test')
-rw-r--r-- | test/buglist_test_vectors.md | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/test/buglist_test_vectors.md b/test/buglist_test_vectors.md new file mode 100644 index 00000000..e683f481 --- /dev/null +++ b/test/buglist_test_vectors.md @@ -0,0 +1,148 @@ +# NestedArrayFunctionCallDecoder + +## buggy + +function f() pure returns (uint[2][2]) { } + +-- + +function f() returns (uint[2][2] a) { } + +-- + +function f() returns (uint x, uint[200][2] a) { } + +-- + +function f() returns (uint[200][2] a, uint x) { } + +-- + +function f() returns (uint[200][2] a, uint x); + +-- + +function f() returns ( + uint + [ + 200 + ] + [2] + a, uint x); + +-- + +function f() returns ( + uint + [ + ContractName.ConstantName + ] + [2] + a, uint x); + +## fine + +function f() returns (uint[2]) { } + +-- + +function f() public pure returns (uint[2][] a) { } + +-- + +function f() public pure returns (uint[ 2 ] [ ] a) { } + +-- + +function f() public pure returns (uint x, uint[] a) { } + +-- + +function f(uint[2][2]) { } + +-- + +function f() m(uint[2][2]) { } + +-- + +function f() returns (uint, uint) { uint[2][2] memory x; } + +# ExpExponentCleanup + +## buggy + +x ** y + +-- + +x ** uint8(y) + +-- + +x**y + +## fine + +x ** 2 + +-- + +x**2 + +-- + +x**200 + +-- + +/** bla **/ + +-- + +/**/ + +# EventStructWrongData + +## buggy + +pragma experimental ABIEncoderV2; +contract C +{ + struct S { uint x; } + event E(S); + event F(S); + enum A { B, C } + event G(A); + function f(S s); +} + +-- + +pragma experimental ABIEncoderV2; +contract C +{ + struct S { uint x; } + event E(S indexed); + event F(uint, S, bool); +} + +## fine + +pragma experimental ABIEncoderV2; +contract C +{ + struct S { uint x; } + enum A { B, C } + event G(A); +} + +-- + +pragma experimental ABIEncoderV2; +contract C +{ + struct S { uint x; } + function f(S s); + S s1; +} |