..
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
event_bubbles
avm2: Implement `Event.bubbles`, `cancelable`, and `type`.
2020-12-14 16:46:33 -08:00
event_cancelable
avm2: Implement `Event.bubbles`, `cancelable`, and `type`.
2020-12-14 16:46:33 -08:00
event_clone
avm2: Implement `Event.clone`
2020-12-14 16:46:33 -08:00
event_formattostring
avm2: Implement `Event.formatToString`.
2020-12-14 16:46:33 -08:00
event_isdefaultprevented
avm2: Implement `Event.preventDefault` and `Event.isDefaultPrevented`
2020-12-14 16:46:33 -08:00
event_type
avm2: Implement `Event.bubbles`, `cancelable`, and `type`.
2020-12-14 16:46:33 -08:00
event_valueof_tostring
avm2: Implement `Event.toString` (which matches it's valueof behavior)
2020-12-14 16:46:33 -08:00
eventdispatcher_dispatchevent
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
eventdispatcher_dispatchevent_cancel
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
eventdispatcher_dispatchevent_handlerorder
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
eventdispatcher_dispatchevent_this
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
eventdispatcher_haseventlistener
avm2: Implement `addEventListener`, `removeEventListener`, and `hasEventListener`.
2020-12-21 21:47:29 -08:00
eventdispatcher_willtrigger
avm2: Implement `EventDispatcher.willTrigger`
2020-12-21 21:47:29 -08: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_arguments
avm2: Implement `arguments`.
2020-12-17 13:21:44 -08:00
function_call_rest
avm2: Implement `rest` parameters in function calls.
2020-12-17 13:21:44 -08:00
function_call_via_apply
avm2: Implement `Function.apply`
2020-12-17 13:21:44 -08: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_dispatchevent
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
movieclip_dispatchevent_cancel
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
movieclip_dispatchevent_handlerorder
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
movieclip_dispatchevent_selfadd
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08:00
movieclip_dispatchevent_target
avm2: Implement `dispatchEvent`.
2020-12-21 21:47:29 -08: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
movieclip_willtrigger
avm2: Implement `EventDispatcher.willTrigger`
2020-12-21 21:47:29 -08: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