mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #5003 from herrBez/cleanUpdated
Add syntax tests to fix #4627
This commit is contained in:
commit
cb3a837251
13
test/libsolidity/syntaxTests/multiline_comments.sol
Normal file
13
test/libsolidity/syntaxTests/multiline_comments.sol
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
* This is a multi-line comment
|
||||||
|
* it should create no problems
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
contract test {
|
||||||
|
/*
|
||||||
|
* this is another multi-line comment
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
// ----
|
7
test/libsolidity/syntaxTests/string/string_escapes.sol
Normal file
7
test/libsolidity/syntaxTests/string/string_escapes.sol
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
contract test {
|
||||||
|
function f() public pure returns (bytes32) {
|
||||||
|
bytes32 escapeCharacters = "\t\b\n\r\f\'\"\\\b";
|
||||||
|
return escapeCharacters;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
9
test/libsolidity/syntaxTests/string/string_new_line.sol
Normal file
9
test/libsolidity/syntaxTests/string/string_new_line.sol
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
contract test {
|
||||||
|
function f() public pure returns (bytes32) {
|
||||||
|
bytes32 escapeCharacters = "This a test
|
||||||
|
";
|
||||||
|
return escapeCharacters;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// ParserError: (100-112): Expected primary expression.
|
@ -0,0 +1,8 @@
|
|||||||
|
contract test {
|
||||||
|
function f() public pure returns (bytes32) {
|
||||||
|
bytes32 escapeCharacters = "text \";
|
||||||
|
return escapeCharacters;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// ParserError: (100-109): Expected primary expression.
|
@ -0,0 +1,7 @@
|
|||||||
|
contract test {
|
||||||
|
function f() public pure returns (bytes32) {
|
||||||
|
bytes32 escapeCharacters = "This a test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// ParserError: (100-112): Expected primary expression.
|
@ -0,0 +1,4 @@
|
|||||||
|
contract test {
|
||||||
|
function f() pure public { "abc\
|
||||||
|
// ----
|
||||||
|
// ParserError: (47-53): Expected primary expression.
|
31
test/libsolidity/syntaxTests/unicode_escape_literals.sol
Normal file
31
test/libsolidity/syntaxTests/unicode_escape_literals.sol
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
contract test {
|
||||||
|
|
||||||
|
function oneByteUTF8() public pure returns (bytes32) {
|
||||||
|
bytes32 usdollar = "aaa\u0024aaa";
|
||||||
|
return usdollar;
|
||||||
|
}
|
||||||
|
|
||||||
|
function twoBytesUTF8() public pure returns (bytes32) {
|
||||||
|
bytes32 cent = "aaa\u00A2aaa";
|
||||||
|
return cent;
|
||||||
|
}
|
||||||
|
|
||||||
|
function threeBytesUTF8() public pure returns (bytes32) {
|
||||||
|
bytes32 eur = "aaa\u20ACaaa";
|
||||||
|
return eur;
|
||||||
|
}
|
||||||
|
|
||||||
|
function together() public pure returns (bytes32) {
|
||||||
|
bytes32 res = "\u0024\u00A2\u20AC";
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
// this function returns an invalid unicode character
|
||||||
|
function invalidLiteral() public pure returns(bytes32) {
|
||||||
|
bytes32 invalid = "\u00xx";
|
||||||
|
return invalid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// ParserError: (678-681): Expected primary expression.
|
@ -0,0 +1,4 @@
|
|||||||
|
contract c {
|
||||||
|
function f() pure public { 1.
|
||||||
|
// ----
|
||||||
|
// ParserError: (47-47): Expected identifier but got end of source
|
@ -0,0 +1,5 @@
|
|||||||
|
contract test {
|
||||||
|
function f() pure public { 1.x; }
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// TypeError: (47-50): Member "x" not found or not visible after argument-dependent lookup in int_const 1.
|
@ -0,0 +1,4 @@
|
|||||||
|
contract c {
|
||||||
|
function f() pure public { 0.
|
||||||
|
// ----
|
||||||
|
// ParserError: (47-47): Expected identifier but got end of source
|
@ -0,0 +1,5 @@
|
|||||||
|
contract test {
|
||||||
|
function f() pure public { 0.x; }
|
||||||
|
}
|
||||||
|
// ----
|
||||||
|
// TypeError: (47-50): Member "x" not found or not visible after argument-dependent lookup in int_const 0.
|
9
test/libsolidity/syntaxTests/upper_case_hex_literals.sol
Normal file
9
test/libsolidity/syntaxTests/upper_case_hex_literals.sol
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
contract test {
|
||||||
|
|
||||||
|
function f() public pure returns (uint256) {
|
||||||
|
uint256 a = 0x1234aAbcC;
|
||||||
|
uint256 b = 0x1234ABCDEF;
|
||||||
|
return a + b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ----
|
Loading…
Reference in New Issue
Block a user