godot-xterm/addons/gut/double_tools.gd

71 lines
1.6 KiB
GDScript
Raw Normal View History

2023-01-20 23:34:39 +01:00
var thepath = ""
var subpath = ""
var stubber = null
var spy = null
var gut = null
var from_singleton = null
var is_partial = null
var double = null
2023-01-20 23:34:39 +01:00
const NO_DEFAULT_VALUE = "!__gut__no__default__value__!"
2024-01-06 11:27:15 +01:00
func _init(values = null):
if values != null:
double = values.double
thepath = values.thepath
subpath = values.subpath
stubber = from_id(values.stubber)
spy = from_id(values.spy)
gut = from_id(values.gut)
from_singleton = values.from_singleton
is_partial = values.is_partial
if gut != null:
gut.get_autofree().add_free(double)
func from_id(inst_id):
2023-01-20 23:34:39 +01:00
if inst_id == -1:
return null
else:
return instance_from_id(inst_id)
2023-01-20 23:34:39 +01:00
func should_call_super(method_name, called_with):
2023-01-20 23:34:39 +01:00
if stubber != null:
return stubber.should_call_super(double, method_name, called_with)
else:
return false
2023-01-20 23:34:39 +01:00
func spy_on(method_name, called_with):
2023-01-20 23:34:39 +01:00
if spy != null:
spy.add_call(double, method_name, called_with)
2023-01-20 23:34:39 +01:00
func get_stubbed_return(method_name, called_with):
2023-01-20 23:34:39 +01:00
if stubber != null:
return stubber.get_return(double, method_name, called_with)
else:
return null
2023-01-20 23:34:39 +01:00
func default_val(method_name, p_index, default_val = NO_DEFAULT_VALUE):
if stubber != null:
return stubber.get_default_value(double, method_name, p_index)
else:
return null
2023-01-20 23:34:39 +01:00
2024-01-06 11:27:15 +01:00
func vararg_warning():
2023-01-20 23:34:39 +01:00
if gut != null:
2024-01-06 11:27:15 +01:00
gut.get_logger().warn(
(
"This method contains a vararg argument and the paramter count was not stubbed. "
+ "GUT adds extra parameters to this method which should fill most needs. "
+ "It is recommended that you stub param_count for this object's class to ensure "
+ "that there are not any parameter count mismatch errors."
)
)