chore: add GUT test framework
This commit is contained in:
95
addons/gut/test/unit/test_method_maker.gd
Normal file
95
addons/gut/test/unit/test_method_maker.gd
Normal file
@@ -0,0 +1,95 @@
|
||||
extends GutTest
|
||||
|
||||
|
||||
class BaseTest:
|
||||
extends GutInternalTester
|
||||
|
||||
var MethodMaker = load('res://addons/gut/method_maker.gd')
|
||||
|
||||
func make_meta(fname, params = [], flags = 65):
|
||||
var to_return = {
|
||||
name = fname,
|
||||
args = params,
|
||||
default_args = [],
|
||||
flags = flags
|
||||
}
|
||||
return to_return
|
||||
|
||||
func make_param(pname, ptype):
|
||||
var to_return = {
|
||||
name = pname,
|
||||
type = ptype
|
||||
}
|
||||
return to_return
|
||||
|
||||
|
||||
|
||||
class TestGetDecleration:
|
||||
extends BaseTest
|
||||
|
||||
var _mm = null
|
||||
|
||||
func before_each():
|
||||
_mm = MethodMaker.new()
|
||||
|
||||
|
||||
func test_get_function_text_no_params():
|
||||
assert_string_contains(_mm.get_function_text(make_meta('dummy')), 'func dummy():')
|
||||
|
||||
|
||||
func test_parameters_get_prefix_and_default_to_call_stubber():
|
||||
var params = [make_param('value1', TYPE_INT), make_param('value2', TYPE_INT)]
|
||||
var meta = make_meta('dummy', params)
|
||||
var txt = _mm.get_function_text(meta)
|
||||
assert_string_contains(txt, 'func dummy(p_value1=__gutdbl.default_val("dummy",0), p_value2=__gutdbl.default_val("dummy",1)):')
|
||||
|
||||
|
||||
|
||||
class TestSuperCall:
|
||||
extends BaseTest
|
||||
|
||||
var _mm = null
|
||||
|
||||
func before_each():
|
||||
_mm = MethodMaker.new()
|
||||
|
||||
func test_super_call_works_with_no_parameters():
|
||||
var meta = make_meta('dummy')
|
||||
var text = _mm.get_function_text(meta)
|
||||
assert_string_contains(text, 'return await super()')
|
||||
|
||||
func test_super_call_contains_all_parameters():
|
||||
var params = [
|
||||
make_param('value1', TYPE_COLOR),
|
||||
make_param('value2', TYPE_INT),
|
||||
make_param('value3', TYPE_STRING)
|
||||
]
|
||||
var meta = make_meta('dummy', params)
|
||||
var text = _mm.get_function_text(meta)
|
||||
assert_string_contains(text, 'return await super(p_value1, p_value2, p_value3)')
|
||||
|
||||
|
||||
|
||||
|
||||
class TestVarargMethods:
|
||||
extends BaseTest
|
||||
|
||||
func test_rpc():
|
||||
var mm = MethodMaker.new()
|
||||
|
||||
var n = autofree(Node.new())
|
||||
var meta = find_method_meta(n.get_method_list(), 'rpc')
|
||||
var func_def = mm.get_function_text(meta)
|
||||
|
||||
assert_string_contains(func_def, ", ...args: Array")
|
||||
assert_string_contains(func_def, "__gutdbl.spy_on('rpc', [p_method, args])")
|
||||
|
||||
func test_rpc_id():
|
||||
var mm = MethodMaker.new()
|
||||
|
||||
var n = autofree(Node.new())
|
||||
var meta = find_method_meta(n.get_method_list(), 'rpc_id')
|
||||
var func_def = mm.get_function_text(meta)
|
||||
|
||||
assert_string_contains(func_def, ", ...args: Array")
|
||||
assert_string_contains(func_def, "__gutdbl.spy_on('rpc_id', [p_peer_id, p_method, args])")
|
||||
Reference in New Issue
Block a user