ruffle/core/tests/swfs/avm1
David Wendt c1ad37a0f6 Implement text span raising, sans list items.
During the raising process, we maintain a list of pointers to the lowest-most `textformat`, `p`, `font`, `a`, `b`, `i`, and `u` in the document that we are appending to. When we get a new one of any of those elements, we clear the rest off the stack. This forces us to add HTML in the same order Flash does.

LIs are not yet supported because they require us to process text line-by-line which doesn't mesh with this model.

There's also a test but the XML DOM generates HTML strings with the wrong attribute order, so the test fails spuriously.
2020-06-20 20:14:57 -04:00
..
add_property tests: Add test for Object.addProperty 2019-12-03 15:01:39 -08:00
array_concat core: Add another array.concat test 2019-12-15 12:33:24 -08:00
array_properties core: Added array tests 2019-12-15 12:33:24 -08:00
array_prototyping core: Made arrays a storage property of objects, not a unique object type. Added more corner case tests. 2019-12-15 12:33:24 -08:00
array_slice core: Added array tests 2019-12-15 12:33:24 -08:00
array_sort tests: Add tests for Array.sort 2020-04-01 18:46:12 -07:00
array_splice core: Implemented Array.splice with tests 2019-12-15 12:33:24 -08:00
array_trivial avm1: Fix panic with [].unshift(x) 2020-04-17 21:17:13 -07:00
array_vs_object_length core: Made arrays a storage property of objects, not a unique object type. Added more corner case tests. 2019-12-15 12:33:24 -08:00
as1_constructor_v6 Add test for the constructor property on v6 and v7 SWFs 2020-04-25 13:25:21 -04:00
as1_constructor_v7 Add test for the constructor property on v6 and v7 SWFs 2020-04-25 13:25:21 -04:00
as2_oop AS2 OOP test. This won't actually pass until we have interfaces, init actions, and constant pool closures merged in. Hence, it's ignored. 2019-12-15 13:17:41 -08:00
as2_super_and_this_v6 Add a v6 version of the super-and-this test, which is exactly the same source compiled to SWF version 6. 2020-04-25 13:25:20 -04:00
as2_super_and_this_v8 Add a v6 version of the super-and-this test, which is exactly the same source compiled to SWF version 6. 2020-04-25 13:25:20 -04:00
as2_super_via_manual_prototype tests: Copy as2_super_and_this test for manual prototype setting, used by mx (currently broken) 2020-04-25 13:25:20 -04:00
as_transformed_flag tests: Add test for TransformedByScript flag 2019-12-15 10:17:33 -08:00
attach_movie tests: Improve attach_movie test to prove when the first frame is executed 2020-06-17 14:16:38 -07:00
call avm1: Output trace warning for invalid SetTarget (fix #332) 2020-01-27 23:35:41 -08:00
clip_events tests: Clip event test now tests for children unloading 2020-06-11 23:39:16 -07:00
closure_scope Add `closure_scope` and `variable_args` tests. 2019-10-12 10:39:51 -04:00
color tests: Test that Color has no effect when target is undefined 2020-03-30 01:09:05 -07:00
create_empty_movie_clip tests: Add tests for movie clip cloning/removing 2019-12-17 03:20:01 -08:00
cross_movie_root Add a test for cross-movie `_root`. 2020-02-22 00:02:48 -05:00
custom_clip_methods Install the remainder of tests that currently pass, but needed to have child clips removed 2019-10-12 10:39:54 -04:00
default_names tests: Add test for default names of display objects 2020-06-18 16:26:36 -07:00
define_function2 tests: Add define_function2 and register test 2019-10-15 17:20:48 -07:00
define_function2_preload tests: Add define_function2_preload test 2020-02-19 23:22:33 -08:00
define_function2_preload_order tests: Add test for misdocumented DefineFunction2 register preload 2020-02-20 12:58:26 -08:00
delete Install the remainder of tests that currently pass, but needed to have child clips removed 2019-10-12 10:39:54 -04:00
display_object_properties tests: Add regression test for display object properties 2019-12-15 08:54:26 -08:00
do_init_action tests: Add test for DoInitAction 2019-10-29 11:11:25 -07:00
duplicate_movie_clip tests: Add tests for movie clip cloning/removing 2019-12-17 03:20:01 -08:00
edittext_align Add approximate test of text field metrics during alignment. 2020-06-20 19:55:44 -04:00
edittext_bullet Allow disabling entity processing when parsing XML. 2020-06-20 20:06:21 -04:00
edittext_default_format Add a bunch of necessary fixes to default text formatting and HTML format extraction. 2020-06-20 19:55:57 -04:00
edittext_font_size Implement the `leading` attribute as defined by fonts. 2020-06-20 19:55:29 -04:00
edittext_html_entity Add some entity support to HTML parsing. 2020-06-20 20:08:22 -04:00
edittext_html_roundtrip Implement text span raising, sans list items. 2020-06-20 20:14:57 -04:00
edittext_leading Add `edittext_leading` test. 2020-06-20 19:55:47 -04:00
edittext_letter_spacing Recompile the letter spacing test 'cause I spotted an errant `s` in the FLA 2020-06-20 19:55:49 -04:00
edittext_margins Add margins test. 2020-06-20 19:55:48 -04:00
edittext_newlines Add a regression test for newlines. 2020-06-20 19:55:53 -04:00
edittext_tab_stops Add a test for tab_stops. 2020-06-20 19:55:51 -04:00
edittext_underline Add regression tests for `underline`. 2020-06-20 19:56:01 -04:00
empty_movieclip_can_attach_movies tests: Add test for movieclip.createEmptyMovieClip().attachMovie()` 2020-04-21 05:49:25 -07:00
equals2_swf5 Assume that NaN == NaN for ruffle 2019-11-28 20:41:25 -05:00
equals2_swf6 Assume that NaN == NaN for ruffle 2019-11-28 20:41:25 -05:00
equals2_swf7 Assume that NaN == NaN for ruffle 2019-11-28 20:41:25 -05:00
equals_swf4 core: Added battery of tests for lessthan, greaterthan, equals and strictequals between swf4-swf7 2019-11-28 20:41:23 -05:00
execution_order1 tests: execution_order -> execution_order1 2019-10-26 03:35:58 -07:00
execution_order2 tests: Add tests for goto execution order 2019-10-26 02:20:42 -07:00
execution_order3 tests: Add tests for goto execution order 2019-10-26 02:20:42 -07:00
extends_chain Added test for class & interface hierarchy 2019-11-26 22:42:11 +01:00
function_base_clip tests: Add test for functions closing over base clip 2019-12-19 17:30:50 -08:00
funky_function_calls This technically isn't a test of `toString`, so remove stuff from the test that it relies upon. 2020-01-27 21:50:11 -05:00
get_variable_in_scope avm1: GetVariable and SetVariable look through the scope chain. Fixes #414 2020-03-19 19:58:16 -07:00
global_is_bare Add a regression test for `_global` being a bare object 2019-11-28 20:53:31 -05:00
goto_advance1 tests: Add test for property updating in fast-forward gotos 2019-12-21 21:16:27 -08:00
goto_advance2 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
goto_both_ways1 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
goto_both_ways2 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
goto_execution_order core: Add StageObject properties 2019-12-15 10:17:33 -08:00
goto_execution_order2 tests: Add goto_execution_order2 regression test 2020-01-28 04:15:08 -08:00
goto_frame tests: Add test for global GotoFrame action 2020-01-30 15:17:01 -08:00
goto_frame2 tests: Add test for global GotoFrame action 2020-01-30 15:17:01 -08:00
goto_label tests: Add test for global GotoFrame action 2020-01-30 15:17:01 -08:00
goto_methods tests: Add test for goto MovieClip methods 2019-12-16 00:52:27 -08:00
goto_rewind1 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
goto_rewind2 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
goto_rewind3 chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
greater_swf6 Typo in test filename 2019-11-28 20:41:26 -05:00
greater_swf7 core: Added battery of tests for lessthan, greaterthan, equals and strictequals between swf4-swf7 2019-11-28 20:41:23 -05:00
greaterthan_swf5 chore: add tests for equality and greaterthan 2019-10-08 20:45:39 +01:00
greaterthan_swf8 chore: add tests for equality and greaterthan 2019-10-08 20:45:39 +01:00
has_own_property Added test for hasOwnProperty 2019-11-27 20:51:40 +01:00
is_prototype_of Added a test for isPrototypeOf 2019-11-27 21:09:14 +01:00
issue_710 tests: Add test for #710 2020-06-13 02:48:38 -07:00
lessthan2_swf5 Lessthan can return `undefined`, not just booleans 2019-11-28 20:53:30 -05:00
lessthan2_swf6 core: Added battery of tests for lessthan, greaterthan, equals and strictequals between swf4-swf7 2019-11-28 20:41:23 -05:00
lessthan2_swf7 core: Added battery of tests for lessthan, greaterthan, equals and strictequals between swf4-swf7 2019-11-28 20:41:23 -05:00
lessthan_swf4 core: Added battery of tests for lessthan, greaterthan, equals and strictequals between swf4-swf7 2019-11-28 20:41:23 -05:00
loadmovie Add tests for `loadMovie`. 2020-02-22 00:01:15 -05:00
loadmovie_method Add a test for `MovieClip.loadMovie`. 2020-02-22 00:01:17 -05:00
loadmovienum Add test for `loadmovienum` 2020-02-22 00:01:16 -05:00
loadvariables Add tests for various forms of `loadVariables`. 2020-02-22 00:02:43 -05:00
loadvariables_method Add tests for various forms of `loadVariables`. 2020-02-22 00:02:43 -05:00
loadvariablesnum Add tests for various forms of `loadVariables`. 2020-02-22 00:02:43 -05:00
local_to_global tests: Add swf_tests_approx macro 2020-02-17 15:42:29 -08:00
logical_ops_swf4 tests: Add tests for AVM1 logical ops 2019-12-21 23:01:10 -08:00
logical_ops_swf8 tests: Add tests for AVM1 logical ops 2019-12-21 23:01:10 -08:00
looping tests: Add looping clip test 2019-08-22 09:54:40 -07:00
matrix tests: Add test coverage for flash.geom.Matrix 2020-05-21 18:38:08 +02:00
mcl_as_broadcaster Implement `MovieClipLoader`'s `addListener`, `removeListener`, and `broadcastMessage` methods. 2020-02-22 00:01:12 -05:00
mcl_getprogress Basic, stub implementation of `MovieClipLoader.getProgress`, plus test. 2020-02-22 00:02:42 -05:00
mcl_loadclip Rewrite some of the unload and cliploader tests to be more generous with load timing. 2020-02-22 00:01:22 -05:00
mcl_unloadclip Implement `MovieClipLoader.unloadClip`, with tests. 2020-02-22 00:02:41 -05:00
mouse_listeners avm1: Implement `Mouse` listeners & events (excluding scroll) 2019-12-16 19:22:10 -08:00
movieclip_depth_methods tests: Add movieclip depth method tests 2020-01-31 19:44:42 -08:00
movieclip_getbounds tests: Add test for getBounds with empty children 2020-06-10 17:17:08 -07:00
movieclip_hittest tests: Update movieclip_hittest to verify points are in root coordinates 2019-12-19 12:35:56 -08:00
movieclip_init_object tests: Add test for order of init_object vs constructor when attaching movies 2020-05-03 12:46:55 -07:00
movieclip_prototype_extension Added test for extending MovieClip prototype 2019-11-26 23:22:07 +01:00
object_prototypes Correct fla for object_prototypes 2019-11-27 20:46:09 +01:00
on_construct core: Run any on(construct) events at the appropriate time 2020-05-03 12:46:55 -07:00
point tests: Add test coverage for flash.geom.Point 2020-05-27 00:23:45 -07:00
primitive_type_globals tests: Uncomment Number.POSITIVE_INFINITY/Number.NEGATIVE_INFINITY tests 2020-02-18 10:17:55 -08:00
prototype_enumerate tests: Don't special case enumeration tests 2020-03-28 16:22:02 -07:00
rectangle avm1: Fixed some missing behaviours with flash.geom.Rectangle 2020-06-02 18:49:01 -07:00
recursive_prototypes avm1: Fatal errors will halt the AVM and prevent further execution 2020-06-20 15:02:00 -07:00
register_and_init_order tests: register_and_init_order tests for constructor after goto 2020-06-16 14:53:44 -07:00
register_class avm1: Implement `Object.registerClass` 2020-02-29 23:05:17 +01:00
register_underflow Implement register underflow behavior. 2019-10-13 18:41:07 -04:00
remove_movie_clip tests: Add tests for movie clip cloning/removing 2019-12-17 03:20:01 -08:00
root_global_parent core: Remove this from Object::get/set 2019-12-15 08:54:26 -08:00
roots_and_levels Allow levels to be read as scope variables, and add a test for this. 2020-02-22 00:02:50 -05:00
set_variable_scope tests: Add test for correct scope in SetVariable 2020-01-06 20:49:05 -08:00
single_frame tests: Add initial SWF tests 2019-08-22 09:54:40 -07:00
slash_syntax tests: Add failing case to slash_syntax test 2019-12-17 04:00:01 -08:00
stage_object_children tests: Add test for stage instances 2019-12-15 08:54:26 -08:00
stage_object_enumerate tests: Add test for enumerating child instances 2019-12-15 08:54:26 -08:00
stage_object_properties core: Matrix translation is in twips 2020-02-26 12:47:47 -08:00
stage_object_properties_swf6 tests: Add more tests for display object properties 2020-02-14 15:34:14 -08:00
strictequals_swf6 Assume that NaN == NaN for ruffle 2019-11-28 20:41:25 -05:00
strictly_equals chore: add tests for equality and greaterthan 2019-10-08 20:45:39 +01:00
string_coercion Add a test for every string coercion I could find. 2019-11-28 20:28:46 -05:00
string_methods tests: Add String.charCodeAt tests 2020-06-04 16:02:55 -07:00
swf6_case_insensitive tests: Add test for SWF<=6 case insensitivty 2020-03-28 16:22:02 -07:00
swf7_case_sensitive tests: Add test for SWF<=6 case insensitivty 2020-03-28 16:22:02 -07:00
target_path avm1: Output trace warning for invalid SetTarget (fix #332) 2020-01-27 23:35:41 -08:00
tell_target avm1: Output trace warning for invalid SetTarget (fix #332) 2020-01-27 23:35:41 -08:00
textfield_text avm1: Expose TextFields and allow setting their .text 2019-12-19 10:19:43 -08:00
timeline_function_def Install the remainder of tests that currently pass, but needed to have child clips removed 2019-10-12 10:39:54 -04:00
typeof chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
typeof_globals chore: Renormalize line endings in misc files 2019-10-11 16:53:36 -07:00
undefined_to_string_swf6 tests: Add tests for coercing undefined to string in SWF6 2020-02-19 10:47:43 -08:00
unloadmovie Rewrite some of the unload and cliploader tests to be more generous with load timing. 2020-02-22 00:01:22 -05:00
unloadmovie_method Rewrite some of the unload and cliploader tests to be more generous with load timing. 2020-02-22 00:01:22 -05:00
unloadmovienum Rewrite some of the unload and cliploader tests to be more generous with load timing. 2020-02-22 00:01:22 -05:00
variable_args Add `closure_scope` and `variable_args` tests. 2019-10-12 10:39:51 -04:00
xml Add very basic XML test 2020-01-04 19:00:17 -05:00
xml_append_child Add a test for `appendChild`. 2020-01-04 19:00:28 -05:00
xml_append_child_with_parent appendChild also refuses to orphan nodes already part of another XML tree. 2020-01-04 19:00:35 -05:00
xml_attributes_read Implement `XMLNode.attributes` w/ read tests 2020-01-04 19:00:27 -05:00
xml_clone_expandos Add test for `cloneNode` 2020-01-04 19:00:22 -05:00
xml_first_last_child Expose `firstChild` and `lastChild` to ActionScript w/ tests 2020-01-04 19:00:24 -05:00
xml_has_child_nodes Implement `hasChildNodes()` and add test 2020-01-04 19:00:23 -05:00
xml_idmap Add regression test for `idMap`. 2020-01-04 19:00:49 -05:00
xml_insert_before Add test for insertBefore 2020-01-04 19:00:34 -05:00
xml_inspect_createmethods Add a test for `createElement` and `createTextNode`. 2020-01-04 19:00:43 -05:00
xml_inspect_doctype Add test for `docTypeDecl`. 2020-01-04 19:00:40 -05:00
xml_inspect_parsexml Add test for `XML.parseXML` 2020-01-04 19:00:47 -05:00
xml_inspect_xmldecl Add an ignored test for `xmlDecl`. 2020-01-04 19:00:41 -05:00
xml_load Implement `XML.load()`, with tests. 2020-02-22 00:02:45 -05:00
xml_namespaces Add namespacing test 2020-01-04 19:00:21 -05:00
xml_node_namespaceuri Add some more tests for XML namespace URIs. 2020-01-04 19:00:45 -05:00
xml_node_weirdnamespace Add some more tests for XML namespace URIs. 2020-01-04 19:00:45 -05:00
xml_parent_and_child Expose `parentNode` to ActionScript 2020-01-04 19:00:24 -05:00
xml_remove_node Add a test for XML.removeNode(). 2020-01-04 19:00:33 -05:00
xml_siblings Expose `previousSibling` and `nextSibling` to ActionScript. 2020-01-04 19:00:25 -05:00
xml_to_string Add test for XMLNode.toString. 2020-01-04 19:00:37 -05:00
xml_to_string_comment Add another test for AVM1 XML's failure to roundtrip unsupported node types (e.g. comments). 2020-01-04 19:00:45 -05:00