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),
|
(escape, "avm1/escape", 1),
|
||||||
(unescape, "avm1/unescape", 1),
|
(unescape, "avm1/unescape", 1),
|
||||||
(register_class, "avm1/register_class", 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),
|
(register_and_init_order, "avm1/register_and_init_order", 1),
|
||||||
(on_construct, "avm1/on_construct", 1),
|
(on_construct, "avm1/on_construct", 1),
|
||||||
(set_variable_scope, "avm1/set_variable_scope", 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