aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-09-06 23:30:51 +0800
committerchriseth <chris@ethereum.org>2018-09-10 20:38:48 +0800
commit3b7be594cf046cc34864cefbd3cf0f5159770163 (patch)
tree77a6636ab3583bbd240e1203ab8fd6b6d7819cc2 /test
parentbe713ed1176c4dee2c1e444d41e5a72ab9caf115 (diff)
downloaddexon-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.md148
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;
+}