summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd
diff options
context:
space:
mode:
authorradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
committerradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
commita89e744ed0e8c759caf041a580112365bbfe4303 (patch)
treedd61e320904176995727e86a857d00c90d4933ba /addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd
parent6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff)
escoria updateHEADmain
Diffstat (limited to 'addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd')
-rw-r--r--addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd22
1 files changed, 22 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd b/addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd
new file mode 100644
index 0000000..2d387ed
--- /dev/null
+++ b/addons/gdUnit4/src/matchers/EqualsArgumentMatcher.gd
@@ -0,0 +1,22 @@
+class_name EqualsArgumentMatcher
+extends GdUnitArgumentMatcher
+
+var _current :Variant
+var _auto_deep_check_mode :bool
+
+
+func _init(current :Variant, auto_deep_check_mode := false) -> void:
+ _current = current
+ _auto_deep_check_mode = auto_deep_check_mode
+
+
+func is_match(value :Variant) -> bool:
+ var case_sensitive_check := true
+ return GdObjects.equals(_current, value, case_sensitive_check, compare_mode(value))
+
+
+func compare_mode(value :Variant) -> GdObjects.COMPARE_MODE:
+ if _auto_deep_check_mode and is_instance_valid(value):
+ # we do deep check on all InputEvent's
+ return GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST if value is InputEvent else GdObjects.COMPARE_MODE.OBJECT_REFERENCE
+ return GdObjects.COMPARE_MODE.OBJECT_REFERENCE