build(types): luassert
This commit is contained in:
parent
1a8844db43
commit
93a61cc8a8
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
return require("luassert.assert")
|
|
@ -0,0 +1,204 @@
|
||||||
|
|
||||||
|
local record ArrayAssert
|
||||||
|
has_holes:function(integer)
|
||||||
|
has_no_holes:function()
|
||||||
|
end
|
||||||
|
|
||||||
|
local record SpyAssert
|
||||||
|
was_called:function(integer)
|
||||||
|
was_not_called:function(integer)
|
||||||
|
|
||||||
|
was_called_with:function(...:any)
|
||||||
|
was_not_called_with:function(...:any)
|
||||||
|
|
||||||
|
was_returned_with:function(...:any)
|
||||||
|
was_not_returned_with:function(...:any)
|
||||||
|
|
||||||
|
was_called_at_least:function(integer)
|
||||||
|
was_called_at_most:function(integer)
|
||||||
|
was_called_more_than:function(integer)
|
||||||
|
was_called_less_than:function(integer)
|
||||||
|
|
||||||
|
was_not_called_at_least:function(integer)
|
||||||
|
was_not_called_at_most:function(integer)
|
||||||
|
was_not_called_more_than:function(integer)
|
||||||
|
was_not_called_less_than:function(integer)
|
||||||
|
|
||||||
|
called:function(integer)
|
||||||
|
not_called:function()
|
||||||
|
|
||||||
|
called_with:function(...:any)
|
||||||
|
not_called_with:function(...:any)
|
||||||
|
|
||||||
|
returned_with:function(...:any)
|
||||||
|
not_returned_with:function(...:any)
|
||||||
|
|
||||||
|
called_at_least:function(integer)
|
||||||
|
called_at_most:function(integer)
|
||||||
|
called_more_than:function(integer)
|
||||||
|
called_less_than:function(integer)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- We use asserts instead of assert here to avoid tl warning
|
||||||
|
local record asserts
|
||||||
|
-- True / false
|
||||||
|
is_not_true:function(any, string):any, string
|
||||||
|
is_true:function(any, string):any, string
|
||||||
|
|
||||||
|
is_not_false:function(any, string):any, string
|
||||||
|
is_false:function(any, string):any, string
|
||||||
|
|
||||||
|
is_not_truthy:function(any, string):any, string
|
||||||
|
is_truthy:function(any, string):any, string
|
||||||
|
|
||||||
|
truthy:function(any, string):any, string
|
||||||
|
not_truthy:function(any, string):any, string
|
||||||
|
|
||||||
|
is_not_falsy:function(any, string):any, string
|
||||||
|
is_falsy:function(any, string):any, string
|
||||||
|
|
||||||
|
falsy:function(any, string):any, string
|
||||||
|
not_falsy:function(any, string):any, string
|
||||||
|
|
||||||
|
-- Same-ness
|
||||||
|
same:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
is_same:function(any, any, string):any, any, string
|
||||||
|
is_not_same:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
are_same:function(any, any, string):any, any, string
|
||||||
|
are_not_same:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
-- Equality
|
||||||
|
are_not_equal:function(any, any, string):any, any, string
|
||||||
|
are_not_equals:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
is_not_equal:function(any, any, string):any, any, string
|
||||||
|
is_not_equals:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
equal:function(any, any, string):any, any, string
|
||||||
|
equals:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
not_equals:function(any, any, string):any, any, string
|
||||||
|
not_equal:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
equals_not:function(any, any, string):any, any, string
|
||||||
|
equal_not:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
is_equal:function(any, any, string):any, any, string
|
||||||
|
is_equals:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
are_equal:function(any, any, string):any, any, string
|
||||||
|
are_equals:function(any, any, string):any, any, string
|
||||||
|
|
||||||
|
-- Nearness
|
||||||
|
is_near:function(number, number, number, string):number, number, number, string
|
||||||
|
is_not_near:function(number, number, number, string):number, number, number, string
|
||||||
|
|
||||||
|
-- Uniqueness
|
||||||
|
is_unique:function({any}, string):{any}, string
|
||||||
|
is_not_unique:function({any}, string):{any}, string
|
||||||
|
|
||||||
|
are_unique:function({any}, string):{any}, string
|
||||||
|
are_not_unique:function({any}, string):{any}, string
|
||||||
|
|
||||||
|
-- Errors function
|
||||||
|
is_error:function(function(), any, string):{any}
|
||||||
|
error:function(function(), any, string):{any}
|
||||||
|
errors:function(function(), any, string):{any}
|
||||||
|
|
||||||
|
no_errors:function(function(), any, string):{any}
|
||||||
|
|
||||||
|
has_no_errors:function(function(), any, string):{any}
|
||||||
|
has_no_error:function(function(), any, string):{any}
|
||||||
|
|
||||||
|
has_error:function(function(), any, string):{any}
|
||||||
|
has_errors:function(function(), any, string):{any}
|
||||||
|
|
||||||
|
record Callable
|
||||||
|
metamethod __call: function(self: Callable)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Errors Callable
|
||||||
|
is_error:function(Callable, any, string):{any}
|
||||||
|
error:function(Callable, any, string):{any}
|
||||||
|
errors:function(Callable, any, string):{any}
|
||||||
|
|
||||||
|
no_errors:function(Callable, any, string):{any}
|
||||||
|
|
||||||
|
has_no_errors:function(Callable, any, string):{any}
|
||||||
|
has_no_error:function(Callable, any, string):{any}
|
||||||
|
|
||||||
|
has_error:function(Callable, any, string):{any}
|
||||||
|
has_errors:function(Callable, any, string):{any}
|
||||||
|
|
||||||
|
-- Errors matches
|
||||||
|
does_error_match:function(function(), string, string)
|
||||||
|
matches_error:function(function(), string, string)
|
||||||
|
has_no_error_match:function(function(), string, string)
|
||||||
|
does_not_match_error:function(function(), string, string)
|
||||||
|
|
||||||
|
error_matches:function(function(), string, string):{any}
|
||||||
|
no_error_matches:function(function(), string, string):{any}
|
||||||
|
|
||||||
|
-- Errors matches callable
|
||||||
|
does_error_match:function(Callable, string, string)
|
||||||
|
matches_error:function(Callable, string, string)
|
||||||
|
has_no_error_match:function(Callable, string, string)
|
||||||
|
does_not_match_error:function(Callable, string, string)
|
||||||
|
|
||||||
|
error_matches:function(Callable, string, string):{any}
|
||||||
|
no_error_matches:function(Callable, string, string):{any}
|
||||||
|
|
||||||
|
-- matches
|
||||||
|
matches:function(string, string, string)
|
||||||
|
|
||||||
|
has_match:function(string, string, string):{string}
|
||||||
|
has_no_match:function(string, string, string):{string}
|
||||||
|
|
||||||
|
-- type checking
|
||||||
|
is_boolean:function(any, string):any, string
|
||||||
|
is_not_boolean:function(any, string):any, string
|
||||||
|
|
||||||
|
is_number:function(any, string):any, string
|
||||||
|
is_not_number:function(any, string):any, string
|
||||||
|
|
||||||
|
is_string:function(any, string):any, string
|
||||||
|
is_not_string:function(any, string):any, string
|
||||||
|
|
||||||
|
is_table:function(any, string):any, string
|
||||||
|
is_not_table:function(any, string):any, string
|
||||||
|
|
||||||
|
is_function:function(any, string):any, string
|
||||||
|
is_not_function:function(any, string):any, string
|
||||||
|
|
||||||
|
is_userdata:function(any, string):any, string
|
||||||
|
is_not_userdata:function(any, string):any, string
|
||||||
|
|
||||||
|
is_thread:function(any, string):any, string
|
||||||
|
is_not_thread:function(any, string):any, string
|
||||||
|
|
||||||
|
is_nil:function(any, string):any, string
|
||||||
|
is_not_nil:function(any, string):any, string
|
||||||
|
|
||||||
|
-- misc
|
||||||
|
set_parameter:function(self:asserts, string, integer)
|
||||||
|
|
||||||
|
returned_arguments:function(...:any)
|
||||||
|
not_returned_arguments:function(...:any)
|
||||||
|
|
||||||
|
has_holes:function({any})
|
||||||
|
has_no_holes:function({any})
|
||||||
|
|
||||||
|
array:function({any}):ArrayAssert
|
||||||
|
|
||||||
|
spy:function(any):SpyAssert
|
||||||
|
stub:function(any):SpyAssert
|
||||||
|
|
||||||
|
get_level:function(self:asserts, any)
|
||||||
|
level:function(self:asserts, integer)
|
||||||
|
|
||||||
|
has_property:function(any, string)
|
||||||
|
end
|
||||||
|
|
||||||
|
return asserts
|
|
@ -0,0 +1,102 @@
|
||||||
|
|
||||||
|
local record Matcher
|
||||||
|
metamethod __call: function(self: Matcher, any)
|
||||||
|
end
|
||||||
|
|
||||||
|
local record match
|
||||||
|
_:function(any)
|
||||||
|
|
||||||
|
match:function(any):Matcher
|
||||||
|
|
||||||
|
-- truthiness
|
||||||
|
is_true:function():Matcher
|
||||||
|
is_false:function():Matcher
|
||||||
|
|
||||||
|
is_not_true:function():Matcher
|
||||||
|
is_not_false:function():Matcher
|
||||||
|
|
||||||
|
is_truthy:function():Matcher
|
||||||
|
is_falsy:function():Matcher
|
||||||
|
|
||||||
|
is_not_truthy:function():Matcher
|
||||||
|
is_not_falsy:function():Matcher
|
||||||
|
|
||||||
|
not_false:function():Matcher
|
||||||
|
|
||||||
|
truthy:function():Matcher
|
||||||
|
falsy:function():Matcher
|
||||||
|
|
||||||
|
-- type matching
|
||||||
|
is_boolean:function(any):Matcher
|
||||||
|
is_function:function():Matcher
|
||||||
|
is_nil:function():Matcher
|
||||||
|
is_number:function():Matcher
|
||||||
|
is_string:function():Matcher
|
||||||
|
is_table:function(any):Matcher
|
||||||
|
is_thread:function():Matcher
|
||||||
|
is_ref:function(any):Matcher
|
||||||
|
is_userdata:function():Matcher
|
||||||
|
|
||||||
|
boolean:function(any):Matcher
|
||||||
|
number:function():Matcher
|
||||||
|
string:function():Matcher
|
||||||
|
table:function(any):Matcher
|
||||||
|
thread:function():Matcher
|
||||||
|
userdata:function():Matcher
|
||||||
|
ref:function():Matcher
|
||||||
|
|
||||||
|
not_boolean:function(any):Matcher
|
||||||
|
not_function:function():Matcher
|
||||||
|
not_nil:function():Matcher
|
||||||
|
not_number:function():Matcher
|
||||||
|
not_string:function():Matcher
|
||||||
|
not_table:function(any):Matcher
|
||||||
|
not_thread:function():Matcher
|
||||||
|
not_userdata:function():Matcher
|
||||||
|
not_ref:function():Matcher
|
||||||
|
|
||||||
|
is_not_boolean:function(any):Matcher
|
||||||
|
is_not_function:function():Matcher
|
||||||
|
is_not_nil:function():Matcher
|
||||||
|
is_not_number:function():Matcher
|
||||||
|
is_not_string:function():Matcher
|
||||||
|
is_not_table:function(any):Matcher
|
||||||
|
is_not_thread:function():Matcher
|
||||||
|
is_not_userdata:function():Matcher
|
||||||
|
is_not_ref:function():Matcher
|
||||||
|
|
||||||
|
-- equality
|
||||||
|
is_equals:function():Matcher
|
||||||
|
is_equal:function(any):Matcher
|
||||||
|
is_same:function(any):Matcher
|
||||||
|
|
||||||
|
equals:function(any):Matcher
|
||||||
|
equal:function(any):Matcher
|
||||||
|
same:function(any):Matcher
|
||||||
|
|
||||||
|
is_unique:function():Matcher
|
||||||
|
is_not_unique:function():Matcher
|
||||||
|
|
||||||
|
-- group matching
|
||||||
|
is_all_of:function(...:any):Matcher
|
||||||
|
is_any_of:function(...:any):Matcher
|
||||||
|
is_none_of:function(...:any):Matcher
|
||||||
|
|
||||||
|
all_of:function(...:any):Matcher
|
||||||
|
any_of:function(...:any):Matcher
|
||||||
|
none_of:function(...:any):Matcher
|
||||||
|
|
||||||
|
not_all_of:function(...:any):Matcher
|
||||||
|
not_any_of:function(...:any):Matcher
|
||||||
|
not_none_of:function(...:any):Matcher
|
||||||
|
|
||||||
|
-- misc
|
||||||
|
matches:function(string, number):Matcher
|
||||||
|
has_match:function(string, number):Matcher
|
||||||
|
|
||||||
|
near:function(number, number):Matcher
|
||||||
|
is_near:function(number, number):Matcher
|
||||||
|
is_not_near:function(number, number):Matcher
|
||||||
|
end
|
||||||
|
|
||||||
|
return match
|
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
local record mock
|
||||||
|
clear:function(any)
|
||||||
|
revert:function(any)
|
||||||
|
|
||||||
|
new:function<T>(T, boolean):T
|
||||||
|
end
|
||||||
|
|
||||||
|
return mock
|
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
local record spy
|
||||||
|
clear:function(self:spy):spy
|
||||||
|
revert:function(self:spy):spy
|
||||||
|
|
||||||
|
on:function(any, string):spy
|
||||||
|
|
||||||
|
-- To call spy methods, cast it back to spy with 'as'
|
||||||
|
new:function<T>(T):T
|
||||||
|
|
||||||
|
metamethod __call: function(self: spy, ...:any)
|
||||||
|
end
|
||||||
|
|
||||||
|
return spy
|
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
local record stub
|
||||||
|
record Defaults
|
||||||
|
returns:function(...:any)
|
||||||
|
invokes:function(function(...:any))
|
||||||
|
end
|
||||||
|
|
||||||
|
record OnCallWith
|
||||||
|
returns:function(...:any)
|
||||||
|
invokes:function(function(...:any))
|
||||||
|
end
|
||||||
|
|
||||||
|
clear:function(self:stub):stub
|
||||||
|
revert:function(self:stub):stub
|
||||||
|
|
||||||
|
on_call_with:function(...:any):OnCallWith
|
||||||
|
|
||||||
|
returns:function(...:any):stub
|
||||||
|
invokes:function(function(...:any)):stub
|
||||||
|
|
||||||
|
-- table, key, return values
|
||||||
|
new:function(any, string, ...:any):stub
|
||||||
|
|
||||||
|
by_default:Defaults
|
||||||
|
|
||||||
|
metamethod __call: function(self: stub, ...:any)
|
||||||
|
end
|
||||||
|
|
||||||
|
return stub
|
Loading…
Reference in New Issue