aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-02-26 23:25:23 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-02-27 02:09:44 +0800
commit0736d91eaa0807c21364376b455c0b72c1aeb9be (patch)
treed9b663b450fe9a55865d91e76eb603bb11d4b543 /test/libsolidity
parentb471983e3cacf4d92ecd987eac85620bd8030aff (diff)
downloaddexon-solidity-0736d91eaa0807c21364376b455c0b72c1aeb9be.tar.gz
dexon-solidity-0736d91eaa0807c21364376b455c0b72c1aeb9be.tar.zst
dexon-solidity-0736d91eaa0807c21364376b455c0b72c1aeb9be.zip
Add test for escapeIdentifier
Diffstat (limited to 'test/libsolidity')
-rw-r--r--test/libsolidity/SolidityTypes.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityTypes.cpp b/test/libsolidity/SolidityTypes.cpp
index 9f385a04..bc9f2fe1 100644
--- a/test/libsolidity/SolidityTypes.cpp
+++ b/test/libsolidity/SolidityTypes.cpp
@@ -88,6 +88,21 @@ BOOST_AUTO_TEST_CASE(storage_layout_arrays)
BOOST_CHECK(ArrayType(DataLocation::Storage, make_shared<FixedBytesType>(32), 9).storageSize() == 9);
}
+BOOST_AUTO_TEST_CASE(type_escaping)
+{
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier("("), "$_");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier(")"), "_$");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier(","), "_$_");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier("$"), "$$$");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier("()"), "$__$");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier("(,)"), "$__$__$");
+ BOOST_CHECK_EQUAL(Type::escapeIdentifier("(,$,)"), "$__$_$$$_$__$");
+ BOOST_CHECK_EQUAL(
+ Type::escapeIdentifier("((__(_$_$$,__($$,,,$$),$,,,)))$$,$$"),
+ "$_$___$__$$$_$$$$$$_$___$_$$$$$$_$__$__$_$$$$$$_$_$_$$$_$__$__$__$_$_$$$$$$$_$_$$$$$$"
+ );
+}
+
BOOST_AUTO_TEST_CASE(type_identifiers)
{
ASTNode::resetID();