summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/tests/scripts
diff options
context:
space:
mode:
authorDanil Alexeev <danil@alexeev.xyz>2023-02-13 09:46:31 +0300
committerDanil Alexeev <danil@alexeev.xyz>2023-06-14 21:47:12 +0300
commitfba8cbe6dbf17399e06ac9141a862734187dfb65 (patch)
tree7a48d44a48059c7b5d9bfa3e575b32637f3870cc /modules/gdscript/tests/scripts
parent33957aee69683cf1f542a8622e5a9efd23070f1c (diff)
downloadredot-engine-fba8cbe6dbf17399e06ac9141a862734187dfb65.tar.gz
GDScript: Fix repeated `_` are allowed after decimal point
Diffstat (limited to 'modules/gdscript/tests/scripts')
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.gd2
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.gd3
-rw-r--r--modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.out2
-rw-r--r--modules/gdscript/tests/scripts/parser/features/number_separators.gd32
-rw-r--r--modules/gdscript/tests/scripts/parser/features/number_separators.out23
6 files changed, 53 insertions, 11 deletions
diff --git a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.gd b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.gd
index 71a03fbc0d..f322783776 100644
--- a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.gd
+++ b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.gd
@@ -1,3 +1,3 @@
func test():
# Number separators may not be placed right next to each other.
- var __ = 1__23
+ var _num = 1__23
diff --git a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.out b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.out
index 71a3c2fd6a..b308994ae2 100644
--- a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.out
+++ b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators.out
@@ -1,2 +1,2 @@
GDTEST_PARSER_ERROR
-Only one underscore can be used as a numeric separator.
+Multiple underscores cannot be adjacent in a numeric literal.
diff --git a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.gd b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.gd
new file mode 100644
index 0000000000..3140999aa9
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.gd
@@ -0,0 +1,3 @@
+func test():
+ # Number separators may not be placed right next to each other.
+ var _num = 123.45__67
diff --git a/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.out b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.out
new file mode 100644
index 0000000000..b308994ae2
--- /dev/null
+++ b/modules/gdscript/tests/scripts/parser/errors/multiple_number_separators_after_decimal.out
@@ -0,0 +1,2 @@
+GDTEST_PARSER_ERROR
+Multiple underscores cannot be adjacent in a numeric literal.
diff --git a/modules/gdscript/tests/scripts/parser/features/number_separators.gd b/modules/gdscript/tests/scripts/parser/features/number_separators.gd
index f5f5661cae..a534c4fde1 100644
--- a/modules/gdscript/tests/scripts/parser/features/number_separators.gd
+++ b/modules/gdscript/tests/scripts/parser/features/number_separators.gd
@@ -1,12 +1,26 @@
func test():
# `_` can be used as a separator for numbers in GDScript.
# It can be placed anywhere in the number, except at the beginning.
- # Currently, GDScript in the `master` branch only allows using one separator
- # per number.
- # Results are assigned to variables to avoid warnings.
- var __ = 1_23
- __ = 123_ # Trailing number separators are OK.
- __ = 12_3
- __ = 123_456
- __ = 0x1234_5678
- __ = 0b1001_0101
+ print(1_23)
+ print(12_3)
+ print(1_2_3)
+ print(123_) # Trailing number separators are OK.
+ print(123_456)
+ print(123_45_6_)
+ print("---")
+ print(0x1234_00ff)
+ print(0x1234_00_f_f_)
+ print(0b1001_0101)
+ print(0b1001_01_0_1_)
+ print("---")
+ print(-1_234.456_7)
+ print(-1_23_4_.4_56_7_)
+ print(-1_234.)
+ print(-1_23_4_.)
+ print(.456_7)
+ print(.4_56_7_)
+ print("---")
+ print(-1_234.5e000_3)
+ print(-1_23_4_.5e0_00_3_)
+ print(-1_234.5e+000_3)
+ print(-1_23_4_.5e+0_00_3_)
diff --git a/modules/gdscript/tests/scripts/parser/features/number_separators.out b/modules/gdscript/tests/scripts/parser/features/number_separators.out
index d73c5eb7cd..b0d2fd94fe 100644
--- a/modules/gdscript/tests/scripts/parser/features/number_separators.out
+++ b/modules/gdscript/tests/scripts/parser/features/number_separators.out
@@ -1 +1,24 @@
GDTEST_OK
+123
+123
+123
+123
+123456
+123456
+---
+305398015
+305398015
+149
+149
+---
+-1234.4567
+-1234.4567
+-1234
+-1234
+0.4567
+0.4567
+---
+-1234500
+-1234500
+-1234500
+-1234500