core: Add test for `Object.registerClass` return values
This commit is contained in:
parent
f394953331
commit
26a2b6e4f7
|
@ -163,6 +163,7 @@ swf_tests! {
|
|||
(escape, "avm1/escape", 1),
|
||||
(unescape, "avm1/unescape", 1),
|
||||
(register_class, "avm1/register_class", 1),
|
||||
(register_class_return_value, "avm1/register_class_return_value", 1),
|
||||
(register_and_init_order, "avm1/register_and_init_order", 1),
|
||||
(on_construct, "avm1/on_construct", 1),
|
||||
(set_variable_scope, "avm1/set_variable_scope", 1),
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
// Compile with:
|
||||
// mtasc -main -header 200:150:30 Test.as -swf test.swf
|
||||
class Test {
|
||||
static function main(current) {
|
||||
// Variables to bypass MTASC's type checker.
|
||||
var number = 12;
|
||||
var object = {};
|
||||
var string = "bar";
|
||||
|
||||
trace("// not enough args");
|
||||
trace(Object.registerClass());
|
||||
|
||||
trace("// too many args");
|
||||
trace(Object.registerClass("foo", null, "bar"));
|
||||
|
||||
trace("// register a constructor");
|
||||
trace(Object.registerClass("foo", function() {}));
|
||||
|
||||
trace("// unregister a constructor");
|
||||
trace(Object.registerClass("foo", null));
|
||||
|
||||
trace("// weird symbols names");
|
||||
trace(Object.registerClass(null, null));
|
||||
trace(Object.registerClass(number, null));
|
||||
trace(Object.registerClass(object, null));
|
||||
|
||||
trace("// wrong types");
|
||||
trace(Object.registerClass("foo", number));
|
||||
trace(Object.registerClass("foo", string));
|
||||
trace(Object.registerClass("foo", object));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
// not enough args
|
||||
false
|
||||
// too many args
|
||||
true
|
||||
// register a constructor
|
||||
true
|
||||
// unregister a constructor
|
||||
true
|
||||
// weird symbols names
|
||||
true
|
||||
true
|
||||
true
|
||||
// wrong types
|
||||
false
|
||||
false
|
||||
false
|
Binary file not shown.
Loading…
Reference in New Issue