aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-07-25 17:37:30 +0800
committerGitHub <noreply@github.com>2018-07-25 17:37:30 +0800
commit4a61cb5b5984ed2ff027639eaf7affdfd177a9d4 (patch)
treeb78e9feba196202b9508abf0f6f92aca9ccd09d6 /test
parentff8e930054eaa3c7ae5f0b8160fcba15efbe264a (diff)
parent1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13 (diff)
downloaddexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar.gz
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar.bz2
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar.lz
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar.xz
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.tar.zst
dexon-solidity-4a61cb5b5984ed2ff027639eaf7affdfd177a9d4.zip
Merge pull request #4554 from ethereum/indexing-tests
Add comprehensive syntax tests for indexed access
Diffstat (limited to 'test')
-rw-r--r--test/libsolidity/syntaxTests/indexing/array_out_of_bounds_index.sol8
-rw-r--r--test/libsolidity/syntaxTests/indexing/array_without_index.sol8
-rw-r--r--test/libsolidity/syntaxTests/indexing/fixedbytes_out_of_bounds_index.sol8
-rw-r--r--test/libsolidity/syntaxTests/indexing/fixedbytes_without_index.sol8
-rw-r--r--test/libsolidity/syntaxTests/indexing/function_type.sol7
-rw-r--r--test/libsolidity/syntaxTests/indexing/function_type_without_index.sol7
6 files changed, 46 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/indexing/array_out_of_bounds_index.sol b/test/libsolidity/syntaxTests/indexing/array_out_of_bounds_index.sol
new file mode 100644
index 00000000..b0079857
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/array_out_of_bounds_index.sol
@@ -0,0 +1,8 @@
+contract C {
+ function f() public {
+ bytes[32] memory a;
+ a[64];
+ }
+}
+// ----
+// TypeError: (65-70): Out of bounds array access.
diff --git a/test/libsolidity/syntaxTests/indexing/array_without_index.sol b/test/libsolidity/syntaxTests/indexing/array_without_index.sol
new file mode 100644
index 00000000..6b1c2778
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/array_without_index.sol
@@ -0,0 +1,8 @@
+contract C {
+ function f() public {
+ bytes memory a;
+ a[];
+ }
+}
+// ----
+// TypeError: (61-64): Index expression cannot be omitted.
diff --git a/test/libsolidity/syntaxTests/indexing/fixedbytes_out_of_bounds_index.sol b/test/libsolidity/syntaxTests/indexing/fixedbytes_out_of_bounds_index.sol
new file mode 100644
index 00000000..8264a8b2
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/fixedbytes_out_of_bounds_index.sol
@@ -0,0 +1,8 @@
+contract C {
+ function f() public {
+ bytes32 b;
+ b[64];
+ }
+}
+// ----
+// TypeError: (56-61): Out of bounds array access.
diff --git a/test/libsolidity/syntaxTests/indexing/fixedbytes_without_index.sol b/test/libsolidity/syntaxTests/indexing/fixedbytes_without_index.sol
new file mode 100644
index 00000000..979ac8a7
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/fixedbytes_without_index.sol
@@ -0,0 +1,8 @@
+contract C {
+ function f() public {
+ bytes32 b;
+ b[];
+ }
+}
+// ----
+// TypeError: (56-59): Index expression cannot be omitted.
diff --git a/test/libsolidity/syntaxTests/indexing/function_type.sol b/test/libsolidity/syntaxTests/indexing/function_type.sol
new file mode 100644
index 00000000..6c6c06a9
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/function_type.sol
@@ -0,0 +1,7 @@
+contract C {
+ function f() public {
+ f[0];
+ }
+}
+// ----
+// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is function ())
diff --git a/test/libsolidity/syntaxTests/indexing/function_type_without_index.sol b/test/libsolidity/syntaxTests/indexing/function_type_without_index.sol
new file mode 100644
index 00000000..bf511bc9
--- /dev/null
+++ b/test/libsolidity/syntaxTests/indexing/function_type_without_index.sol
@@ -0,0 +1,7 @@
+contract C {
+ function f() public {
+ f[];
+ }
+}
+// ----
+// TypeError: (41-42): Indexed expression has to be a type, mapping or array (is function ())