From 6d26ad1e61cd6d711332cf3f9df87917157b6a3f Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 23 Apr 2018 14:56:40 +0100 Subject: Extract subdenomination tests --- .../syntaxTests/denominations/combining_hex_and_denomination.sol | 5 +++++ .../denominations/combining_hex_and_denomination_050.sol | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination.sol create mode 100644 test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination_050.sol (limited to 'test/libsolidity/syntaxTests') diff --git a/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination.sol b/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination.sol new file mode 100644 index 00000000..3571e8a9 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination.sol @@ -0,0 +1,5 @@ +contract C { + uint constant x = 0x01 wei; +} +// ---- +// Warning: (32-40): Hexadecimal numbers with unit denominations are deprecated. You can use an expression of the form "0x1234 * 1 day" instead. diff --git a/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination_050.sol b/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination_050.sol new file mode 100644 index 00000000..98865999 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/combining_hex_and_denomination_050.sol @@ -0,0 +1,6 @@ +pragma experimental "v0.5.0"; +contract C { + uint constant x = 0x01 wei; +} +// ---- +// TypeError: (62-70): Hexadecimal numbers cannot be used with unit denominations. You can use an expression of the form "0x1234 * 1 day" instead. -- cgit From 75faed7c55a45770b6b56fa9fe2be308604030a0 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 23 Apr 2018 15:04:43 +0100 Subject: Add more denomination tests --- test/libsolidity/syntaxTests/denominations/denominations.sol | 5 +++++ test/libsolidity/syntaxTests/denominations/fixed_point_division.sol | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 test/libsolidity/syntaxTests/denominations/denominations.sol create mode 100644 test/libsolidity/syntaxTests/denominations/fixed_point_division.sol (limited to 'test/libsolidity/syntaxTests') diff --git a/test/libsolidity/syntaxTests/denominations/denominations.sol b/test/libsolidity/syntaxTests/denominations/denominations.sol new file mode 100644 index 00000000..de9f73e1 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/denominations.sol @@ -0,0 +1,5 @@ +contract C { + uint constant a = 1 wei + 2 szabo + 3 finney + 4 ether; + uint constant b = 1 seconds + 2 minutes + 3 hours + 4 days + 5 weeks + 6 years; + uint constant c = 2 szabo / 1 seconds + 3 finney * 3 hours; +} diff --git a/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol b/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol new file mode 100644 index 00000000..22331b51 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/fixed_point_division.sol @@ -0,0 +1,6 @@ +contract C { + uint constant a = 4 ether / 3 hours; + ufixed constant b = ufixed(4 ether / 3 hours); +} +// ---- +// TypeError: (32-49): Type rational_const 10000000000000000 / 27 is not implicitly convertible to expected type uint256. Try converting to type ufixed256x62 or use an explicit conversion. -- cgit From 1ac0090f31d12a720950991ab4e85710877effd1 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Mon, 23 Apr 2018 14:54:45 +0100 Subject: The "year" denomination is deprecated --- test/libsolidity/syntaxTests/denominations/denominations.sol | 2 ++ test/libsolidity/syntaxTests/denominations/deprecated_year.sol | 5 +++++ test/libsolidity/syntaxTests/denominations/deprecated_year_050.sol | 6 ++++++ 3 files changed, 13 insertions(+) create mode 100644 test/libsolidity/syntaxTests/denominations/deprecated_year.sol create mode 100644 test/libsolidity/syntaxTests/denominations/deprecated_year_050.sol (limited to 'test/libsolidity/syntaxTests') diff --git a/test/libsolidity/syntaxTests/denominations/denominations.sol b/test/libsolidity/syntaxTests/denominations/denominations.sol index de9f73e1..6d1aa2f3 100644 --- a/test/libsolidity/syntaxTests/denominations/denominations.sol +++ b/test/libsolidity/syntaxTests/denominations/denominations.sol @@ -3,3 +3,5 @@ contract C { uint constant b = 1 seconds + 2 minutes + 3 hours + 4 days + 5 weeks + 6 years; uint constant c = 2 szabo / 1 seconds + 3 finney * 3 hours; } +// ---- +// Warning: (142-149): Using "years" as a unit denomination is deprecated. diff --git a/test/libsolidity/syntaxTests/denominations/deprecated_year.sol b/test/libsolidity/syntaxTests/denominations/deprecated_year.sol new file mode 100644 index 00000000..30e86535 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/deprecated_year.sol @@ -0,0 +1,5 @@ +contract C { + uint constant a = 3 years; +} +// ---- +// Warning: (32-39): Using "years" as a unit denomination is deprecated. diff --git a/test/libsolidity/syntaxTests/denominations/deprecated_year_050.sol b/test/libsolidity/syntaxTests/denominations/deprecated_year_050.sol new file mode 100644 index 00000000..4baaeaa3 --- /dev/null +++ b/test/libsolidity/syntaxTests/denominations/deprecated_year_050.sol @@ -0,0 +1,6 @@ +pragma experimental "v0.5.0"; +contract C { + uint constant a = 3 years; +} +// ---- +// TypeError: (62-69): Using "years" as a unit denomination is deprecated. -- cgit