ruffle/core/tests/swfs/avm2
David Wendt afd033898c avm2: Implement `hitTestObject` 2020-12-09 14:00:06 -08:00
..
add avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
array_access tests: Add test for reading properties of an array 2020-09-15 02:20:11 -07:00
array_concat tests: Add test for `Array.concat`. 2020-09-15 02:20:11 -07:00
array_constr tests: Add test for `new Array`'s arguments. 2020-09-15 02:20:11 -07:00
array_delete tests: Add tests for `deleteproperty` on arrays. 2020-09-15 02:20:11 -07:00
array_every avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`. 2020-09-15 02:20:11 -07:00
array_filter avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`. 2020-09-15 02:20:11 -07:00
array_foreach avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`. 2020-09-15 02:20:11 -07:00
array_hasownproperty Fix `hasOwnProperty` yielding false on populated non-hole array indicies. 2020-09-15 02:20:11 -07:00
array_holes tests: Add `array_holes` test. 2020-09-15 02:20:11 -07:00
array_indexof avm2: Implement `indexOf` and `lastIndexOf` 2020-09-15 02:20:11 -07:00
array_join avm2: Array `join` and `toString` treat `undefined` and `null` as empty strings. 2020-09-15 02:20:11 -07:00
array_lastindexof avm2: Implement `indexOf` and `lastIndexOf` 2020-09-15 02:20:11 -07:00
array_literal tests: Add test for `newarray`. 2020-09-15 02:20:11 -07:00
array_map avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`. 2020-09-15 02:20:11 -07:00
array_pop avm2: Implement `Array.push` and `Array.pop` 2020-09-15 02:20:11 -07:00
array_push avm2: Implement `Array.shift` and `Array.unshift`. 2020-09-15 02:20:11 -07:00
array_reverse tests: `Array.reverse`'s test should also include a check for holes. 2020-09-15 02:20:11 -07:00
array_shift avm2: Implement `Array.shift` and `Array.unshift`. 2020-09-15 02:20:11 -07:00
array_slice avm2: Implement `Array.slice`. 2020-09-15 02:20:11 -07:00
array_some avm2: Implement `forEach`, `map`, `filter`, `every`, and `some` on `Array`. 2020-09-15 02:20:11 -07:00
array_sort avm2: Implement `Array.sort` 2020-09-15 02:20:11 -07:00
array_sorton avm2: Implement `Array.sortOn` 2020-09-15 02:20:11 -07:00
array_splice avm2: Impl `Array.splice`. 2020-09-15 02:20:11 -07:00
array_storage tests: Add `array_storage` test. 2020-09-15 02:20:11 -07:00
array_tolocalestring avm2: Impl `Array.toLocaleString`. 2020-09-15 02:20:11 -07:00
array_tostring avm2: Array `join` and `toString` treat `undefined` and `null` as empty strings. 2020-09-15 02:20:11 -07:00
array_unshift avm2: Implement `Array.shift` and `Array.unshift`. 2020-09-15 02:20:11 -07:00
array_valueof avm2: Implement `Array.join`, `Array.toString`, and `Array.valueOf` (w/tests) 2020-09-15 02:20:11 -07:00
bitand avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
bitnot avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
bitor avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
bitxor avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
boolean_negation Implement and test `not`. 2020-08-10 16:38:04 -07:00
class_enumeration Add `as3_object_enumeration` and `as3_class_enumeration` tests. 2020-07-13 17:44:33 -04:00
class_methods Add a test for various types of class methods. 2020-07-13 17:44:19 -04:00
class_to_locale_string Implement and test `toLocaleString`. 2020-07-13 17:44:57 -04:00
class_to_string Add tests for `toString` on objects, functions, and classes. 2020-07-13 17:44:54 -04:00
class_value_of Add tests for `valueOf`. 2020-07-13 17:44:58 -04:00
coerce_string Test for `coerce_s`. 2020-08-10 16:38:04 -07:00
coerce_string_precision Test for `coerce_s`. 2020-08-10 16:38:04 -07:00
constructor_call Add (currently failing) test for constructors. 2020-07-13 17:44:14 -04:00
control_flow_bool Add tests for control flow instructions that use booleans or strict equality. 2020-07-13 17:44:30 -04:00
control_flow_stricteq Add tests for control flow instructions that use booleans or strict equality. 2020-07-13 17:44:30 -04:00
convert_boolean Implement and test for `convert_b`. 2020-08-10 16:38:04 -07:00
convert_integer Add & test ECMA-262 ToInt32 and `convert_i` opcode. 2020-08-10 16:38:04 -07:00
convert_number Add a test for all the above numerical coercions. 2020-08-10 16:38:04 -07:00
convert_uinteger Add and test for `convert_u` using `ToUint32` from ECMA-262 2020-08-10 16:38:04 -07:00
declocal avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
declocal_i avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
decrement avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
decrement_i avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
displayobject_alpha tests: Add inactive tests for `alpha`, `height`, `rotation`, `width`, `x`, and `y`. 2020-12-09 14:00:06 -08:00
displayobject_height tests: Add more stringent height/width test that we're only accurate to within 1 twip. 2020-12-09 14:00:06 -08:00
displayobject_hittestobject avm2: Implement `hitTestObject` 2020-12-09 14:00:06 -08:00
displayobject_hittestpoint avm2: Implement `hitTestPoint`. 2020-12-09 14:00:06 -08:00
displayobject_name tests: Fix name test breaking with our half-working execution order 2020-12-09 14:00:06 -08:00
displayobject_parent avm2: Implement `DisplayObject.parent`. 2020-12-09 14:00:06 -08:00
displayobject_root avm2: Expose `DisplayObject.root` 2020-12-09 14:00:06 -08:00
displayobject_rotation tests: Add inactive tests for `alpha`, `height`, `rotation`, `width`, `x`, and `y`. 2020-12-09 14:00:06 -08:00
displayobject_visible avm2: Implement `visible`. 2020-12-09 14:00:06 -08:00
displayobject_width tests: Add more stringent height/width test that we're only accurate to within 1 twip. 2020-12-09 14:00:06 -08:00
displayobject_x tests: Add inactive tests for `alpha`, `height`, `rotation`, `width`, `x`, and `y`. 2020-12-09 14:00:06 -08:00
displayobject_y tests: Add inactive tests for `alpha`, `height`, `rotation`, `width`, `x`, and `y`. 2020-12-09 14:00:06 -08:00
displayobjectcontainer_addchild avm2: Implement `addChild` and `addChildAt`, with tests 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchild_timelinepull0 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchild_timelinepull1 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchild_timelinepull2 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchildat avm2: Implement `addChild` and `addChildAt`, with tests 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchildat_timelinelock0 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchildat_timelinelock1 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_addchildat_timelinelock2 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_contains avm2: Impl `contains` w/ test 2020-11-27 13:23:34 -08:00
displayobjectcontainer_getchildat avm2: Implement `DisplayObjectContainer.getChildAt`. 2020-11-27 13:23:34 -08:00
displayobjectcontainer_getchildbyname avm2: Implement `getChildByName` 2020-11-27 13:23:34 -08:00
displayobjectcontainer_getchildindex avm2: Implement `getChildIndex` 2020-11-27 13:23:34 -08:00
displayobjectcontainer_removechild avm2: Implement `removeChild`. 2020-11-27 13:23:34 -08:00
displayobjectcontainer_removechild_timelinemanip_remove1 tests: Add a whole number of tests of depth/render list interaction from the AS3 side 2020-11-27 13:23:34 -08:00
displayobjectcontainer_removechildat avm2: Implement `removeChildAt` 2020-11-27 13:23:34 -08:00
displayobjectcontainer_removechildren avm2: Implement `removeChildren`. 2020-11-27 13:23:34 -08:00
displayobjectcontainer_setchildindex avm2: Implement `setChildIndex` 2020-11-27 13:23:34 -08:00
displayobjectcontainer_stopallmovieclips avm2: Implement `stopAllMovieClips` 2020-11-27 13:23:34 -08:00
displayobjectcontainer_swapchildren avm2: Implement `swapChildren` and `swapChildrenAt`. 2020-11-27 13:23:34 -08:00
displayobjectcontainer_swapchildrenat avm2: Implement `swapChildren` and `swapChildrenAt`. 2020-11-27 13:23:34 -08:00
displayobjectcontainer_timelineinstance core: Store named children on AVM2 movieclips as object properties 2020-11-27 13:23:34 -08:00
divide avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
equals Implement and test `equals`. 2020-08-10 16:38:04 -07:00
es3_inheritance Add a test for legacy / ES3 inheritance. 2020-07-13 17:44:56 -04:00
es4_inheritance Since we have an `es3_inheritance` test now, rename the existing inheritance test to `es4_inheritance`. 2020-07-13 17:44:57 -04:00
es4_interfaces Add a test for loading interfaces into the AVM2. 2020-07-13 17:45:07 -04:00
es4_method_binding Add a test for ES4 method binding of `this`. 2020-07-13 17:44:29 -04:00
es4_oop_prototypes Add a test for interactions between prototype and class-trait properties. 2020-07-13 17:44:27 -04:00
falsiness Oh look, I figured out how to emit `istrue`, so that's tested, too. 2020-08-10 16:38:04 -07:00
framelabel_constr avm2: Implement `FrameLabel`. 2020-10-06 06:03:22 -07:00
function_call Add a basic test for function calls. 2020-07-13 17:44:13 -04:00
function_call_via_call Add test of `Function.prototype.call` 2020-07-13 17:44:56 -04:00
function_to_locale_string Implement and test `toLocaleString`. 2020-07-13 17:44:57 -04:00
function_to_string Add tests for `toString` on objects, functions, and classes. 2020-07-13 17:44:54 -04:00
function_value_of Add tests for `valueOf`. 2020-07-13 17:44:58 -04:00
greaterequals Add tests for `greaterequals`, `greaterthan`, `lessequals`, and `lessthan`. 2020-08-10 16:38:04 -07:00
greaterthan Add tests for `greaterequals`, `greaterthan`, `lessequals`, and `lessthan`. 2020-08-10 16:38:04 -07:00
has_own_property Add a test for `has_own_property` in various class instance scenarios. 2020-07-13 17:44:35 -04:00
hello_world Add our first AVM2 regression test: hello world! 2020-07-13 17:44:09 -04:00
if_eq Test for `iseq` and `isne` 2020-08-10 16:38:04 -07:00
if_gt Add tests for `>`, `<`, `<=`, and `>=`. 2020-08-10 16:38:04 -07:00
if_gte Add tests for `>`, `<`, `<=`, and `>=`. 2020-08-10 16:38:04 -07:00
if_lt Add tests for `>`, `<`, `<=`, and `>=`. 2020-08-10 16:38:04 -07:00
if_lte Add tests for `>`, `<`, `<=`, and `>=`. 2020-08-10 16:38:04 -07:00
if_ne Test for `iseq` and `isne` 2020-08-10 16:38:04 -07:00
if_stricteq Add tests for `ifstricteq`, `ifstrictne`, and `strictequals`. 2020-07-13 17:44:59 -04:00
if_strictne Add tests for `ifstricteq`, `ifstrictne`, and `strictequals`. 2020-07-13 17:44:59 -04:00
in avm2: Implement `in` 2020-09-07 11:07:07 -07:00
inclocal avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
inclocal_i avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
increment avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
increment_i avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
instanceof Add tests for `instanceof` and `is` operators. 2020-07-13 17:45:10 -04:00
is_prototype_of Actually enable the `isPrototypeOf` test. 2020-07-13 17:44:34 -04:00
istype Add tests for `instanceof` and `is` operators. 2020-07-13 17:45:10 -04:00
lazyinit tests: Fix the lazyinit test so that it actually passes on Ruffle 2020-10-17 03:32:09 -07:00
lessequals Add tests for `greaterequals`, `greaterthan`, `lessequals`, and `lessthan`. 2020-08-10 16:38:04 -07:00
lessthan Add tests for `greaterequals`, `greaterthan`, `lessequals`, and `lessthan`. 2020-08-10 16:38:04 -07:00
lshift avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
math tests: Add test for AVM2 Math 2020-11-12 04:24:47 -08:00
modulo avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
movieclip_constr avm2: Implement `new MovieClip()`. 2020-10-06 06:03:22 -07:00
movieclip_currentlabels avm2: Implement `MovieClip.currentLabels` 2020-10-06 06:03:22 -07:00
movieclip_currentscene avm2: Implement `MovieClip.currentScene` 2020-10-06 06:03:22 -07:00
movieclip_gotoandplay avm2: Non-integer numbers should be handled as strings and integer-parsible strings should be handled as numbers. 2020-10-06 06:03:22 -07:00
movieclip_gotoandstop avm2: Non-integer numbers should be handled as strings and integer-parsible strings should be handled as numbers. 2020-10-06 06:03:22 -07:00
movieclip_next_frame avm2: Implement `prevFrame` and `nextFrame`, with tests. 2020-10-06 06:03:22 -07:00
movieclip_next_scene tests: Add tests for `prevScene` and `nextScene`. 2020-10-06 06:03:22 -07:00
movieclip_play tests: Add test for AS3 movieclip play 2020-10-06 06:03:22 -07:00
movieclip_prev_frame tests: Add tests for `prevScene` and `nextScene`. 2020-10-06 06:03:22 -07:00
movieclip_prev_scene tests: Add tests for `prevScene` and `nextScene`. 2020-10-06 06:03:22 -07:00
movieclip_properties avm2: Implement the programmatically-playing flag that governs `isPlaying` behavior. 2020-10-06 06:03:22 -07:00
movieclip_scenes avm2: Implement `MovieClip.scenes`. 2020-10-06 06:03:22 -07:00
movieclip_stop avm2: Implement `stop` and `play`, with tests for the former. 2020-10-06 06:03:22 -07:00
multiply avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
negate avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
object_enumeration Add `as3_object_enumeration` and `as3_class_enumeration` tests. 2020-07-13 17:44:33 -04:00
object_to_locale_string Implement and test `toLocaleString`. 2020-07-13 17:44:57 -04:00
object_to_string Add tests for `toString` on objects, functions, and classes. 2020-07-13 17:44:54 -04:00
object_value_of Add tests for `valueOf`. 2020-07-13 17:44:58 -04:00
property_is_enumerable Add a test for `propertyIsEnumerable`. 2020-07-13 17:44:37 -04:00
rshift avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
scene_constr avm2: Implement `Scene` object. 2020-10-06 06:03:22 -07:00
set_property_is_enumerable Add test for `setPropertyIsEnumerable` 2020-07-13 17:44:39 -04:00
stored_properties Add a test for stored properties as well. 2020-07-13 17:44:24 -04:00
strict_equality Add tests for `ifstricteq`, `ifstrictne`, and `strictequals`. 2020-07-13 17:44:59 -04:00
subtract avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
timeline_scripts tests: Add tests for timeline scripts. 2020-10-06 06:03:22 -07:00
trace avm2: trace accepts multiple arguments 2020-11-10 17:05:56 -08:00
truthiness Add test for truthiness. 2020-08-10 16:38:04 -07:00
urshift avm2: Implement avm2 math opcodes (merge #1037) 2020-08-23 13:38:38 -07:00
virtual_properties Add test of AVM2 virtual properties. 2020-07-13 17:44:24 -04:00