aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/syntaxTests
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-07-24 07:19:12 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-07-25 03:26:36 +0800
commit1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13 (patch)
treebeaac7c040ee9e7d894e8e40ac45c6c86b11c8f8 /test/libsolidity/syntaxTests
parentae0959ae125ac2ae7084041a87c0736a8e7df6c6 (diff)
downloaddexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar.gz
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar.bz2
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar.lz
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar.xz
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.tar.zst
dexon-solidity-1dbf2d19238068c19ef369e6fa2fb1b2f8ab1d13.zip
Add comprehensive syntax tests for indexed access
Diffstat (limited to 'test/libsolidity/syntaxTests')
-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 ())