aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-06-14 02:12:45 +0800
committerchriseth <chris@ethereum.org>2017-06-16 22:41:29 +0800
commitd7e63f23decdaf83aa4872a6e0b2754a3d69d4a6 (patch)
tree4fecd3ab7f05416a1fbb465d7f40dabb6d9b2f8d /test/libsolidity
parent17de4a0756ad86b6facbf592dce2a4c32ef7585c (diff)
downloaddexon-solidity-d7e63f23decdaf83aa4872a6e0b2754a3d69d4a6.tar.gz
dexon-solidity-d7e63f23decdaf83aa4872a6e0b2754a3d69d4a6.tar.zst
dexon-solidity-d7e63f23decdaf83aa4872a6e0b2754a3d69d4a6.zip
Fix UTF-8 validation for high codepoints (>10000)
Diffstat (limited to 'test/libsolidity')
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 70934543..0b3cb481 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -2422,6 +2422,16 @@ BOOST_AUTO_TEST_CASE(invalid_utf8_explicit)
CHECK_ERROR(sourceCode, TypeError, "Explicit type conversion not allowed");
}
+BOOST_AUTO_TEST_CASE(large_utf8_codepoint)
+{
+ char const* sourceCode = R"(
+ contract C {
+ string s = "\xf0\x9f\xa6\x84";
+ }
+ )";
+ CHECK_SUCCESS(sourceCode);
+}
+
BOOST_AUTO_TEST_CASE(string_index)
{
char const* sourceCode = R"(