From 589bdf30b2bea10172a49bcad26d44b18f192556 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Mon, 19 Oct 2020 15:19:15 +0100 Subject: Implement Explicit octal notation for integers RFC RFC: https://wiki.php.net/rfc/explicit_octal_notation Add an extensive test suits for other variants of integer literals Closes GH-6360 --- tests/lang/integer_literals/binary_32bit.phpt | 82 +++++++++++++ tests/lang/integer_literals/binary_64bit.phpt | 82 +++++++++++++ tests/lang/integer_literals/hexadecimal_32bit.phpt | 82 +++++++++++++ tests/lang/integer_literals/hexadecimal_64bit.phpt | 83 +++++++++++++ tests/lang/integer_literals/octal_32bit.phpt | 118 ++++++++++++++++++ tests/lang/integer_literals/octal_64bit.phpt | 133 +++++++++++++++++++++ 6 files changed, 580 insertions(+) create mode 100644 tests/lang/integer_literals/binary_32bit.phpt create mode 100644 tests/lang/integer_literals/binary_64bit.phpt create mode 100644 tests/lang/integer_literals/hexadecimal_32bit.phpt create mode 100644 tests/lang/integer_literals/hexadecimal_64bit.phpt create mode 100644 tests/lang/integer_literals/octal_32bit.phpt create mode 100644 tests/lang/integer_literals/octal_64bit.phpt (limited to 'tests/lang') diff --git a/tests/lang/integer_literals/binary_32bit.phpt b/tests/lang/integer_literals/binary_32bit.phpt new file mode 100644 index 0000000000..4318940446 --- /dev/null +++ b/tests/lang/integer_literals/binary_32bit.phpt @@ -0,0 +1,82 @@ +--TEST-- +Binary integer strings (32bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(2147483647) +int(2147483647) +float(1.9119287772983036E+25) +int(86) +int(86) +int(86) +int(86) +float(INF) +int(2147483647) +int(2147483647) +float(1.9119287772983036E+25) +int(86) +int(86) +int(86) +int(86) +float(INF) diff --git a/tests/lang/integer_literals/binary_64bit.phpt b/tests/lang/integer_literals/binary_64bit.phpt new file mode 100644 index 0000000000..9b6c3997ae --- /dev/null +++ b/tests/lang/integer_literals/binary_64bit.phpt @@ -0,0 +1,82 @@ +--TEST-- +Binary integer strings (64bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(9223372036854775807) +int(9223372036854775807) +float(1.9119287772983036E+25) +int(86) +int(86) +int(86) +int(86) +float(INF) +int(9223372036854775807) +int(9223372036854775807) +float(1.9119287772983036E+25) +int(86) +int(86) +int(86) +int(86) +float(INF) diff --git a/tests/lang/integer_literals/hexadecimal_32bit.phpt b/tests/lang/integer_literals/hexadecimal_32bit.phpt new file mode 100644 index 0000000000..1793354a5d --- /dev/null +++ b/tests/lang/integer_literals/hexadecimal_32bit.phpt @@ -0,0 +1,82 @@ +--TEST-- +Hexadecimal integer strings (32bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(2147483647) +int(2147483647) +float(8.070441274821732E+19) +int(28) +int(28) +int(28) +int(28) +float(INF) +int(2147483647) +int(2147483647) +float(8.070441274821732E+19) +int(28) +int(28) +int(28) +int(28) +float(INF) diff --git a/tests/lang/integer_literals/hexadecimal_64bit.phpt b/tests/lang/integer_literals/hexadecimal_64bit.phpt new file mode 100644 index 0000000000..780591d101 --- /dev/null +++ b/tests/lang/integer_literals/hexadecimal_64bit.phpt @@ -0,0 +1,83 @@ +--TEST-- +Hexadecimal integer strings (64bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(9223372036854775807) +int(9223372036854775807) +float(8.070441274821732E+19) +int(28) +int(28) +int(28) +int(28) +float(INF) +int(9223372036854775807) +int(9223372036854775807) +float(8.070441274821732E+19) +int(28) +int(28) +int(28) +int(28) +float(INF) diff --git a/tests/lang/integer_literals/octal_32bit.phpt b/tests/lang/integer_literals/octal_32bit.phpt new file mode 100644 index 0000000000..472fe602c0 --- /dev/null +++ b/tests/lang/integer_literals/octal_32bit.phpt @@ -0,0 +1,118 @@ +--TEST-- +Octal integer strings (32bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(2147483647) +int(2147483647) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) +int(2147483647) +int(2147483647) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) +int(2147483647) +int(2147483647) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) diff --git a/tests/lang/integer_literals/octal_64bit.phpt b/tests/lang/integer_literals/octal_64bit.phpt new file mode 100644 index 0000000000..742900e4e8 --- /dev/null +++ b/tests/lang/integer_literals/octal_64bit.phpt @@ -0,0 +1,133 @@ +--TEST-- +Octal integer strings (64bit) +--SKIPIF-- + +--FILE-- + +--EXPECT-- +int(9223372036854775807) +int(9223372036854775807) +float(9.223372036854776E+18) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) +int(9223372036854775807) +int(9223372036854775807) +float(9.223372036854776E+18) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) +int(9223372036854775807) +int(9223372036854775807) +float(9.223372036854776E+18) +float(1.7912166229916324E+23) +int(14) +int(14) +int(14) +int(14) +float(INF) -- cgit v1.2.1