Commit Graph

1411 Commits

Author SHA1 Message Date
David Wendt 81740d09f7 tests: Change seek test output to match test harness timing.
We are not interested in testing the timing of buffer loads (since that will vary based on hardware), we just need to know that we got a buffer load event.

Furthermore all our seeks are in-buffer so multiple buffer full events shouldn't happen in Ruffle.
2023-10-10 18:49:09 -06:00
David Wendt 87b9cf2fa0 tests: Remove all time assertions from the seek test as our test harness and loader impl screws up timing 2023-10-10 18:49:09 -06:00
David Wendt 525165caf6 tests: Change AVM2 version of the `netstream_seek_flv` test to wait for video to play before tracking time and seeking. 2023-10-10 18:49:09 -06:00
David Wendt d3335f4dc4 tests: Add AVM1 version of `netstream_seek_flv` 2023-10-10 18:49:09 -06:00
David Wendt 008427e490 tests: Work around our test harness not loading videos syncronously 2023-10-10 18:49:09 -06:00
David Wendt 5cf005e69e tests: Add test for seeking NetStream on AVM2 2023-10-10 18:49:09 -06:00
renovate[bot] 18796a67fe fix(deps): update rust dependencies 2023-10-10 02:15:59 +02:00
sleepycatcoding 21a1e1f670 avm2: Small set_property_local fixup
Fixes a borrow panic and logic error.
2023-10-10 00:24:39 +02:00
sleepycatcoding 0b2771c23d avm2: Implement other XMLList set_property_local path 2023-10-10 00:24:39 +02:00
sleepycatcoding ca5ba4877c avm2: Implement one XMLList set_property path 2023-10-10 00:24:39 +02:00
Tom Schuster c6804be307 avm2: Add smoke test for namespace issue in monopoly 2023-10-07 23:46:40 +02:00
Tom Schuster ed1a2ee27c avm2: Add failing namespace test for flash.xml 2023-10-07 23:46:40 +02:00
Aaron Hill 3a658f5dec avm2: Implement BitmapData.copyPixelsToByteArray
This basically just re-uses the implementation of getPixels
2023-10-05 17:35:54 -04:00
sleepycatcoding 80ccc1d8a3 avm2: Implement some obscure SWFv9 XML behavior
This affects appendChild, prependChild, insertChildBefore, insertChildAfter.
2023-10-05 16:12:43 +02:00
Aaron Hill ddefac322a avm2: Run DoAbc/DoAbc2/SymbolClass as part of their frame
We previously ran these tags during preloading - however,
they are actually run as part of frame execution. This is observable
by ActionScript - a SWF can load in a class from a stop()'d MoveClip,
and then advance the clip to a frame with a SymbolClass referencing
the loaded class.
2023-10-04 22:00:22 -04:00
renovate[bot] 428e89af73 fix(deps): update rust dependencies 2023-10-04 19:19:51 -04:00
sleepycatcoding 09716b8386 tests: make jpegxr optional 2023-10-03 16:08:51 -04:00
Tom Schuster 6d51bc3964 avm2: Namespace support for XML.name() 2023-10-01 19:26:07 +02:00
sleepycatcoding f140e7a14b
core: Place jpegxr texture support behind feature flag (#13348) 2023-09-29 18:46:54 -04:00
Aaron Hill ec7a8ac645
avm2: Add support for Stage3D bytearray/compressed textures (#13180) 2023-09-28 03:03:30 +00:00
renovate[bot] 7e4e4d4c5b fix(deps): update rust dependencies 2023-09-25 11:14:39 +02:00
Lord-McSweeney 1adde21a9b avm2, tests: Improve String.substr; add a complex test 2023-09-24 12:11:24 +02:00
Aaron Hill 8aec2f1703 Add another test 2023-09-23 14:11:24 +02:00
Aaron Hill bb4410e387 avm2: Skip nested 'goto' frame for SWF 9
This fixes 'who_killed_travolta', and unblocks DeathvsMonstars and
NeoPets Lost City Lanes once some additional button fixes are merged.

This isn't 100% correct (as shown by the disabled test), but it brings
us closer to what Flash Player does.
2023-09-23 14:11:24 +02:00
nosamu e8bbb21554 avm1: tellTarget on an undefined object targets the base clip in SWF6- 2023-09-23 13:42:03 +02:00
Tom Schuster dc53758488 avm2: Implement support for indexes in xml.child() 2023-09-22 21:28:20 +02:00
renovate[bot] 37e2c06034 fix(deps): update rust dependencies 2023-09-18 00:00:45 +02:00
Lord-McSweeney 6eddd3532e avm2: Support Error 1089 2023-09-17 22:03:05 +02:00
sleepycatcoding ecbf325d41
avm2: Improve XML set_property_local implementation (#13041)
* avm2: Add error 1087

* avm2: Add deep_copy method to XmlObject

Changes existing AS3 copy method to use this instead

* avm2: Add a few utility methods to E4XNode

* avm2: Change XML.replace impl to use new utility methods

* avm2: allow setting XML/XMLList as a element

* avm2: Fix `xml_namespaced_property` test failure

* chore: fmt

* chore: Appease clippy

* avm2: Add test for XML/XMLList as element
2023-09-14 21:33:32 +00:00
sleepycatcoding b5fdd9142f avm2: Coerce value in set slot opcode
This was causing a bunch of implicit conversion test failures.
2023-09-13 23:02:44 +02:00
Aaron Hill 981dedafd2 avm2: Fix avmplus.describeTypeJSON bugs and add test 2023-09-08 17:52:12 -04:00
Lord-McSweeney 20db9f8326
avm2: Implement XML.setName (#12979)
* avm2/tests: Implement XML.setName; add a test

* avm2: Basic support for QNames in XML.setName (no namespace support yet)

* avm2: Reorder order of Attribute/Element/PI checks in XML.setName

* avm2: Throw error #1117 when the name passed to XML.setName is not a valid XML name
2023-09-07 21:47:02 +02:00
sleepycatcoding 9c7eb90d69 avm2: Implement XML.prependChild 2023-09-07 01:13:16 +02:00
sleepycatcoding 936eb777e8 avm2: Implement isXMLName 2023-09-06 23:01:34 +02:00
renovate[bot] dabc2d56b9 fix(deps): update rust dependencies 2023-09-04 10:25:24 +02:00
Lord-McSweeney 5edba670de tests: Add a test for using Shared Objects without a root movie 2023-08-31 19:58:53 -04:00
Daniel Jacobs 7bef26d993 tests: Add test for avm2 Sound constructor with URLRequest parameter 2023-08-30 22:41:49 +02:00
Abiel Deneke 0ed447b428 avm1: Set target clip to None if target is an undefined object
SetTarget currently sets the target clip to the base clip if the
target passed to tellTarget() is an undefined object. This causes
goto's to run on the base clip in Ruffle, when Adobe Flash Player
does not run the goto's at all.

Fixes #12389 and #12390
2023-08-29 01:23:52 +02:00
sleepycatcoding 80db9caf74 avm2: Implement XML.replace 2023-08-29 00:48:48 +02:00
sleepycatcoding fbaa02e295 avm2: Implement XML.insertChildAfter and XML.insertChildBefore 2023-08-29 00:48:48 +02:00
TÖRÖK Attila 7dc70354bf tests: Exclude WARP from running acid_large, and allow acid_image and acid_gradient_* again 2023-08-28 21:24:01 +02:00
renovate[bot] 4e75c3890a fix(deps): update rust dependencies 2023-08-28 07:39:35 +02:00
Aaron Hill 88acc96467 avm2: Fix XML/XMLDocument ignoreWhite handling for cdata
The ignoreWhite settings only affect text nodes, not cdata nodes.
Additionally, there should be no special case for empty text.
2023-08-27 20:28:20 -04:00
sleepycatcoding 33164d3f56 avm2: Preserve attribute flag when filling lazy multiname with QName
Fixes #12570
2023-08-27 19:40:00 -04:00
Aaron Hill 879dac347c avm2: Handle child being removing from `Loader`
`Loader` override `removeChild` and `removeChildAt` to try to prevent
user code from removing the loaded content child. However, this can be
bypassed by calling `otherContainer.addChild(loader.content)`, which
actually removes the child from the loader. Stealth Hunter 2 relies
on this behavior.

To make this work, `Loader.content` needs to go through
`contentLoaderInfo`, instead of relying on a child being present.
2023-08-27 19:13:45 -04:00
Nathan Adams 19ad492eaa avm2: Implement Graphics.cubicCurveTo and CUBIC_CURVE_TO 2023-08-27 20:17:43 +02:00
TÖRÖK Attila d523be02e4 tests: Exclude WARP from running the acid_gradient_1 visual test ported from Shumway 2023-08-27 12:25:41 +02:00
Lord-McSweeney 72c659fd0e avm2: Add some static properties to Number 2023-08-26 13:38:33 +02:00
Lord-McSweeney d366d19de6 avm2: Various (u)int/Number correctness fixes 2023-08-26 13:38:33 +02:00
sleepycatcoding 75566b92e0 avm2: XML/XMLList is converted to a string when set as attribute value 2023-08-25 11:20:51 +02:00
David Wendt 7158039135 audio: Audio streamed from FLVs do not have the SWF MP3 header 2023-08-23 15:36:20 -06:00
nosamu 20b07ff147 avm1: Fix XML=>String coercion mangling non-ascii chars
Fixes #12859
2023-08-22 17:23:56 +02:00
nosamu 2f40f0093a avm1: Unescape + to space 2023-08-22 16:38:24 +02:00
sleepycatcoding 991976e437 avm2: Implement XML pretty printing 2023-08-22 09:57:59 -04:00
renovate[bot] 2f4c7d2fe3 fix(deps): update rust dependencies 2023-08-21 08:59:07 +02:00
Nathan Adams 385c2d7cb0 core: Fix links in TextEdits when scrolled down 2023-08-20 22:31:27 +02:00
Nathan Adams f0d356589a core: Implement avm2 event: links in texts 2023-08-20 22:31:27 +02:00
Nathan Adams 814a900b03 avm1: asfunction goes by the parent, not root 2023-08-20 22:31:27 +02:00
Nathan Adams b8cda975f3 core: Allow clicking EditTexts if we're clicking links 2023-08-20 22:31:27 +02:00
Nathan Adams 658ac2dd9f core: Implement url handling (+asfunction) in textedits 2023-08-20 22:31:27 +02:00
TÖRÖK Attila a11725c27c tests: Exclude WARP from running the acid_gradient_2 visual test (ported from Shumway)
This was the culprit for most of our recent Windows CI failures.
2023-08-20 12:49:37 +02:00
Kornelius Rohrschneider a50f5cd072 avm1: Remove delay to enter the unloaded state for non-root MovieClips
avm1_unload_movie has been adapted to only enter the unloaded state with
one frame delay if the MovieClip is a root MovieClip. The unloaded state
is now immediately entered for non-root MovieClips.
This fixes the regressions #12254 and #12265 which got introduced
because of this delay.

However, in Flash Player, even non-root MovieClips enter the unloaded
state one frame after the unloadMovie command has been read. Ruffle is
probably replacing a MovieClip differently to Flash, therefore
introducing these regressions when trying to emulate that delay.
Documentation explaining this all has been added to avm1_unload_movie.

Therefore, the test movieclip_library_state_values has been added. It
tests the default state and the unloaded state of a (non-root) child
MovieClip that's loaded from the library. It is marked as known_failure
because Ruffle currently doesn't implement the delay before entering the
unloaded state for non-root MovieClips.
2023-08-19 17:29:00 +02:00
nosamu 050da0740a avm1: Pass flashvars in loadMovie and MovieClipLoader
Fixes #11497
2023-08-19 16:45:01 +02:00
Lord-McSweeney 89b9bc3827 core/avm2: Support accessing applicationDomain on a LoaderInfo before load starts/finishes; also improve Loader.unload stub. 2023-08-19 00:24:03 +02:00
Nathan Adams a6aa72351f avm2: Add a Function() call handler 2023-08-18 22:13:46 +02:00
Nathan Adams 7df861f212 avm2: Disallow 'new Function(args)' 2023-08-18 22:13:46 +02:00
Nathan Adams f2233855c7 avm2: Throw proper error on 'x is SomethingThatIsntAClass' 2023-08-18 22:13:46 +02:00
Nathan Adams 46381d181a avm2: Use correct error when trying to construct something invalid 2023-08-18 22:13:46 +02:00
Nathan Adams 8bbf8f4ea1 avm2: Use correct error in toString with invalid radix 2023-08-18 22:13:46 +02:00
Nathan Adams c9c2e213bb avm2: Use correct error in toPrecision 2023-08-18 22:13:46 +02:00
sleepycatcoding 2f98da44fb avm2: String.indexOf returns -1 when passed in undefined 2023-08-18 20:41:41 +02:00
sleepycatcoding cde49de1fb avm2: Remove undefined specific behavior in String.split 2023-08-18 20:41:41 +02:00
sleepycatcoding a44546ab1c avm2: Do not ignore nulls in String.fromCharCode 2023-08-18 20:41:41 +02:00
sleepycatcoding 7316f51cb1 avm2: String.toString defaults to "" 2023-08-18 20:41:41 +02:00
sleepycatcoding b835cc8091 avm2: Boolean.valueOf and Boolean.toString default to false
Makes tests `e15_6_3_1`, `e15_6_3_1_3`, `e15_6_4`, `e15_6_4__1` and `ecall_1` pass.
2023-08-18 16:07:15 +02:00
nosamu f3feabb59a avm2: nextScene() and prevScene() should fall back to current scene
Fixes #12797
2023-08-18 00:33:32 +02:00
nosamu 5618ebe6eb tests: Add failing test for queued gotos in AVM2 framescripts
This minimally reproduces #12069 and #10113
2023-08-17 22:46:38 +02:00
Nathan Adams f00671e9cc core: Fix rendering masks + scrollRects when cacheAsBitmap 2023-08-16 16:34:24 +02:00
Aaron Hill b1981debc9 tests: Include test name in error context 2023-08-15 17:04:28 +02:00
Tom Schuster d93c449199 avm2: Throw TypeError on unbound namespace prefix 2023-08-14 19:58:21 +02:00
Tom Schuster 7639d045ad avm2: Limited XML namespace support 2023-08-14 19:58:21 +02:00
Nathan Adams 5e1a30cf4a core: Fix avm2 button bounding box when using scroll rects 2023-08-13 14:14:34 +02:00
Nathan Adams db7c6dec00 core: Implement XML.toString for comments and processing instructions 2023-08-12 20:15:21 +02:00
Nathan Adams bf7c17737b avm2: Trim the start of processing instruction values 2023-08-12 20:15:21 +02:00
Nathan Adams 90b3fa4c63 avm2: Implement to_xml_string_inner for procesing instructions 2023-08-12 20:15:21 +02:00
Nathan Adams f4216aefc1 avm2: Implement XMLList.comments() 2023-08-12 20:15:21 +02:00
Nathan Adams d9847d0167 tests: Rename some files because windows is dumb and they're too long I guess 2023-08-12 17:37:17 +02:00
TÖRÖK Attila 0591fd882a tests: Update displacement_map expected output. 2023-08-12 14:15:40 +02:00
Nathan Adams adda66723e core: Use filters to calculate render sizes of objects 2023-08-12 13:00:27 +02:00
Nathan Adams d35b2b8b84 core: Inform Bitmaps to invalidate, if their backing BitmapDatas change 2023-08-12 11:56:18 +02:00
Nathan Adams e73cd91283 tests: Fix running tests without img_tests feature 2023-08-11 20:15:24 +02:00
Nathan Adams 1858db65c4 tests: Add known_failure test for CABs containing grown filters 2023-08-11 11:23:03 +02:00
Nathan Adams f55147d7c3 core: Override render_bounds_with_transform in Avm2Button 2023-08-11 11:23:03 +02:00
Nathan Adams a9c5bdfbab core: Better handle scroll_rect and/or masks with cacheAsBitmap 2023-08-11 11:23:03 +02:00
Nathan Adams b1aeb010a4 tests: Add CAB + Masks test 2023-08-11 11:23:03 +02:00
TÖRÖK Attila fb01473bb3 tests: Exclude WARP from shumway_acid_tests/acid_image, it was flaky 2023-08-09 21:04:59 +02:00
TÖRÖK Attila 0c4bb22491 chore: Update dependencies of the crates within tests. 2023-08-08 23:19:16 +02:00
MrCheeze 68f8cd6149 avm2: Remove focus from an EditText when it unloads (close #12092) 2023-08-07 23:16:06 +02:00
Nathan Adams bdd2a7ea9e tests: Allow capturing images on specific frames/ticks 2023-08-07 22:52:10 +02:00
Nathan Adams ca8fc23a6c tests: Allow fscommand("captureImage", "IMAGE_NAME") 2023-08-07 22:52:10 +02:00
Nathan Adams 1c8724a458 tests: Turn image_comparison into image_comparisons.NAME, allowing multiple comparisons per test 2023-08-07 22:52:10 +02:00
Nathan Adams 42b4812601 avm2: Throw error when using descendants op (..) on anything that isn't XML, even if it has descendants property 2023-08-06 10:51:25 +02:00
michiel2005 690ce110d8
avm1: reference displayObjects parents if parent is a button (#12541) 2023-08-05 20:32:03 +00:00
sleepycatcoding aac1931569 avm1: Prevent panic when close is called in event handler
Also adds a test case for this.
2023-08-05 14:42:09 +02:00
sleepycatcoding d8ae2ce6b9 avm1: Fix only one message arriving when multiple are sent in the same packet
Test case has been improved to cover this.
2023-08-05 14:42:09 +02:00
sleepycatcoding cec74242cf core: Socket subsystem fixes
Clears the read and write buffer of Socket before returning to ActionScript, this could potentially be problematic
when a SWF reuses the same Socket to connect.

Also remove the handle from Arena when server closes the connection, this fixes
connected still returning true after server disconnection.
2023-08-05 14:42:09 +02:00
sleepycatcoding 0a1f645177 tests: Add onData test for XMLSocket 2023-08-05 14:42:09 +02:00
sleepycatcoding 43e1e72258 tests: Add AVM1 XMLSocket test 2023-08-05 14:42:09 +02:00
sleepycatcoding 1c0426a747 tests: Expand test case as per review 2023-08-05 14:17:02 +02:00
sleepycatcoding e8bc47a569 avm2: Return correct error if Event.clone() returns null 2023-08-05 14:17:02 +02:00
sleepycatcoding 925ed2e82b avm2: Clone event if it has been dispatched before 2023-08-05 14:17:02 +02:00
Nathan Adams fc54c111c3 tests: Port avmplus as3 AMF test 2023-08-04 16:29:27 +02:00
Nathan Adams 5f200dc2a9 avm2: Use correct error in write ops when reading past bounds 2023-08-03 16:28:25 +02:00
Nathan Adams af46301020 avm2: Use correct error in Li ops when reading past bounds 2023-08-03 16:28:25 +02:00
Nathan Adams 3d76953574 avm2: Use correct error when accessing domain memory out of bounds 2023-08-03 16:28:25 +02:00
Nathan Adams c3a283e23d tests: Port avmplus MOPS tests 2023-08-03 16:28:25 +02:00
sleepycatcoding 85db727f17 avm2: Implement XMLSocket 2023-08-02 22:16:16 +02:00
Nathan Adams 3834462abf avm2: Hook up XMLDocument.ignoreWhite 2023-08-02 15:55:08 +02:00
Nathan Adams 6f2420d983 avm2: Implement ignoreComments/ignoreProcessingInstructions/ignoreWhitespace 2023-08-02 15:55:08 +02:00
Nathan Adams da7ee01730 avm2: Implement XML.settings/XML.setSettings/XML.defaultSettings, and add appropriate properties to XML class 2023-08-02 15:55:08 +02:00
Nathan Adams 10e59067d0 avm2: Rewrote XMLDocument/XMLNode to be more correct 2023-08-02 15:55:08 +02:00
Lord-McSweeney 84e4215ece avm2+tests: Various Vector-related fixes; activate now-passing Vector tests 2023-08-02 15:26:53 +02:00
relrelb 006393c581 chore: Appease nightly clippy 2023-08-01 22:44:00 +03:00
TÖRÖK Attila f036fd7aff tests/visual: Also test DisplacementMapFilter with componentX or componentY of 0 2023-08-01 12:54:56 +02:00
Adrian Wielgosik 2621dd78ee avm2: Vector doesn't support propertyIsEnumerable 2023-08-01 00:13:46 +02:00
Adrian Wielgosik b61e92ee12 avm2: Fix property_is_enumerable on arrays 2023-08-01 00:13:46 +02:00
sleepycatcoding a40e8d8ac4 tests: Split read/writeObject off into a separate test 2023-07-31 22:32:03 +02:00
sleepycatcoding cd9ed1a1da tests: remove unneeded loops 2023-07-31 22:32:03 +02:00
sleepycatcoding 1b765e2a45 tests: Use new socket API 2023-07-31 22:32:03 +02:00
sleepycatcoding 749ba80c8a tests: Lower socket test task timeout to 1 microsecond
This was hiding the fact that the test technically did not run and failed, as it only happened very rarely in some scenarios.
2023-07-31 22:32:03 +02:00
Nathan Adams 91bfbe6ab1 tests: Port avmplus as3 MethodClosures test 2023-07-31 19:52:12 +02:00
Nathan Adams 4de8301f75 tests: Port avmplus as3 RuntimeErrors test 2023-07-31 19:52:12 +02:00
Nathan Adams 27fc81f0f3 tests: Port avmplus as3 Dictionary test 2023-07-31 19:52:12 +02:00
Nathan Adams 9ba9ec17a7 tests: Port avmplus as3 e12_6_3_12 Statement test 2023-07-31 19:52:12 +02:00
Nathan Adams cc302a56de tests: Port avmplus as3 for-each-in tests 2023-07-31 19:52:12 +02:00
Nathan Adams d6f83ce9c3 tests: Port avmplus es3 switch tests 2023-07-31 19:52:12 +02:00
Nathan Adams 98f9316fa7 tests: Port avmplus es3 Int tests 2023-07-31 19:52:12 +02:00
Nathan Adams b42ae15759 tests: Port avmplus es3 Number tests 2023-07-31 19:52:12 +02:00
Nathan Adams dab0779493 tests: Port avmplus es3 uint tests 2023-07-31 19:52:12 +02:00
Nathan Adams 01bacb51ba tests: Port avmplus es3 Type Conversions tests 2023-07-31 19:52:12 +02:00
Nathan Adams cdc8e65f0c tests: Port avmplus es3 const tests 2023-07-31 19:52:12 +02:00
Nathan Adams c903c0081c tests: Port avmplus es3 ClassDef tests 2023-07-31 19:52:12 +02:00
Abiel Deneke 6552b4e132 avm2: Implement `Matrix3D.prependScale` 2023-07-31 17:00:44 +02:00
TÖRÖK Attila 288ed7e341 tests: Add an avm1 visual test for BitmapData::perlinNoise() 2023-07-31 16:41:01 +02:00
Adrian Wielgosik 399ac2490c avm2: Remove accidentally duplicated tests 2023-07-30 18:05:24 +02:00
Nathan Adams 647b49ad52 tests: Move from_avmplus up one level 2023-07-30 13:59:33 +02:00
Nathan Adams c8a86966b0 tests: Port avmplus e4x XMLList tests 2023-07-30 13:59:33 +02:00
Nathan Adams 2e1f848144 tests: Port avmplus e4x XML tests 2023-07-30 13:59:33 +02:00
Nathan Adams 0ac0ea21c5 tests: Port avmplus e4x Types tests 2023-07-30 13:59:33 +02:00
Nathan Adams f97559066b tests: Port avmplus e4x TypeConversion tests 2023-07-30 13:59:33 +02:00
Nathan Adams 068a4b38ac tests: Port avmplus e4x Regress tests 2023-07-30 13:59:33 +02:00
Nathan Adams 8a0e57ca95 tests: Port avmplus e4x Namespace tests 2023-07-30 13:59:33 +02:00
Nathan Adams 6030ed563b tests: Port avmplus ecma3 Number tests 2023-07-30 13:59:33 +02:00
Nathan Adams 495f19f10d tests: Port avmplus ecma3 ObjectObjects tests 2023-07-30 13:59:33 +02:00
Nathan Adams e25c18beed tests: Port avmplus ecma3 Statements tests 2023-07-30 13:59:33 +02:00
Nathan Adams 04dbff285a tests: Port avmplus ecma3 String tests 2023-07-30 13:59:33 +02:00
Nathan Adams b7f6373af3 tests: Port avmplus ecma3 TypeConversion tests 2023-07-30 13:59:33 +02:00
Nathan Adams e08e9cc14b tests: Port avmplus ecma3 instanceof tests 2023-07-30 13:59:33 +02:00
Nathan Adams 9c12d3134a tests: Port avmplus ecma3 ErrorObject tests 2023-07-30 13:59:33 +02:00
Nathan Adams e707e98487 tests: Port avmplus ecma3 Boolean tests 2023-07-30 13:59:33 +02:00
Tom Schuster f237aa1da2 avm2: Implement XMLNode.nodeValue 2023-07-30 11:14:00 +02:00
TÖRÖK Attila acddd6c26d tests: Add glow_pass_scaling visual test 2023-07-29 22:23:49 +02:00
TÖRÖK Attila 24afc21f87 tests: Remove redundant "test" suffix from the name of blur_pass_scaling_test 2023-07-29 22:23:49 +02:00
Aaron Hill 4406a70fc9 avm2: Enable Vector.<ObjectSubclass> serialization tests
This also fixes a minor bug (we should always deserialize
to a `Vector.<Object>`, not a `Vector.<*>`)
2023-07-29 15:30:24 -04:00
Nathan Adams f9be8be99e avm2: Make 'new Math()' and 'Math(value)' throw errors 2023-07-29 15:24:30 +02:00
Adrian Wielgosik 456e9d2c05 avm2: Extend vector_concat test 2023-07-28 23:42:04 +02:00
Adrian Wielgosik 22d7ffdefc avm2: fix Vector null display 2023-07-28 23:42:04 +02:00
Adrian Wielgosik e1d73f031a avm2: Activate the Vector/specialized_at_runtime test 2023-07-28 23:42:04 +02:00
Nathan Adams 8be0a36b1a tests: Port avmplus ecma3 Array tests 2023-07-28 22:22:47 +02:00
Nathan Adams 90b4653eaf tests: Port avmplus ecma3 Exception tests 2023-07-28 22:22:47 +02:00
Nathan Adams a52bed18bd tests: Port avmplus ecma3 FunctionObjects tests 2023-07-28 22:22:47 +02:00
Nathan Adams 684c0ea5e6 tests: Port avmplus ecma3 GlobalObject tests 2023-07-28 22:22:47 +02:00
Nathan Adams d3606e3c9d tests: Port avmplus ecma3 Types tests 2023-07-28 22:22:47 +02:00
Nathan Adams a8410aa34e tests: Port avmplus ecma3 ExecutionContexts tests 2023-07-28 22:22:47 +02:00
Nathan Adams 1a354d5809 tests: Port avmplus ecma3 Expression tests 2023-07-28 22:22:47 +02:00
Nathan Adams 8ff5ff8176 tests: Port avmplus ecma3 Function tests 2023-07-28 22:22:47 +02:00
Nathan Adams e1749cd0ad tests: Port avmplus ecma3 Unicode tests 2023-07-28 22:22:47 +02:00
Lord-McSweeney cf5c02ca1b avm2+tests: Fully implement XML.appendChild, add a test 2023-07-28 15:21:38 +02:00
Lord-McSweeney cf8dde966f tests: Allow avmplus e4x/Global/e13_1_2_1 to run, since it no longer loops indefinitely 2023-07-28 13:11:15 +02:00
sleepycatcoding 46d6d6724d tests: Allow some avmplus tests as they now succeed 2023-07-27 23:39:06 +02:00
sleepycatcoding 04aa060c61 tests: Check XML/XMLList.parent() in xml_list_concat 2023-07-27 23:39:06 +02:00
sleepycatcoding 02d815e86b avm2: Implement XML addition operations 2023-07-27 23:39:06 +02:00
Nathan Adams 70fb674d8b avm2: Implement correct errors for write_bytes with offset+length > u32::MAX 2023-07-27 19:47:16 +02:00
Nathan Adams 1bbefbe472 avm2: Throw correct error when writing a too-large string to ByteArray 2023-07-27 19:47:16 +02:00
Nathan Adams 0d1d110660 tests: Port avmplus ByteArray tests 2023-07-27 19:47:16 +02:00
Nathan Adams 7dc0224451 tests: Add lzma feature and add a required_features.lzma flag 2023-07-27 19:47:16 +02:00
Nathan Adams 08b7a8c498 tests: Port avmplus e4x QName tests 2023-07-27 19:30:41 +02:00
Nathan Adams e88a03c2d5 tests: Port avmplus e4x Statements tests 2023-07-27 19:30:41 +02:00
Nathan Adams cbf029c019 tests: Port avmplus e4x Global tests 2023-07-27 19:30:41 +02:00
Nathan Adams 28dfcab8ff tests: Port avmplus e4x Expression tests 2023-07-27 19:30:41 +02:00
Nathan Adams 4f315ef6a9 tests: Include PrettyString workaround again 2023-07-27 19:30:41 +02:00
Nathan Adams cb23067382 avm2: Implement UninitializedError 2023-07-27 09:49:47 +02:00
Nathan Adams 5fc37c7e13 avm2: Implement call handler for Error 2023-07-27 09:49:47 +02:00
Nathan Adams 55d77970e0 tests: Port avmplus Exception tests over 2023-07-27 09:49:47 +02:00
Aaron Hill 583caa3389
avm2: Implement DisplayObject.blendShader (#12238) 2023-07-26 23:25:26 +00:00
Nathan Adams 6a7063a83b tests: Mark vectorIndexRangeExceptions as ignore again, and explain why 2023-07-27 00:52:40 +02:00
Nathan Adams 1ffb87c227 tests: If an image test isn't being checked and we expect it to fail, make it fail 2023-07-27 00:52:40 +02:00
Nathan Adams 049cb0e84d tests: Increase tolerance of bitmapdata_applyfilter_blur to make it pass on my machine 2023-07-27 00:52:40 +02:00
Nathan Adams bdf960f972 tests: Unflagged previously ignored tests that now pass successfully 2023-07-27 00:52:40 +02:00
Nathan Adams a10dfca653 tests: Change a lot of tests from ignore to known_failure 2023-07-27 00:52:40 +02:00
Nathan Adams 6063579fbd tests: Add known_failure to test.toml 2023-07-27 00:52:40 +02:00
Aaron Hill 99ed2c6d4a
avm2: Fix handling of default domain memory (#12308) 2023-07-26 18:26:26 +00:00
Nathan Adams 0a21a6015c tests: Document fscommand('quit') 2023-07-26 17:00:15 +02:00
Nathan Adams 6b788faa9d tests: Implement fscommand('quit') on test runner 2023-07-26 17:00:15 +02:00
Nathan Adams 1a0a82d898 core: Move fscommand execution outside of ExternalInterfaceProvider, so it can be implemented without causing ExternalInterface.available to become true 2023-07-26 17:00:15 +02:00
Nathan Adams 4252d035af tests: Add issue to avm_plus ignored tests 2023-07-26 16:12:57 +02:00
Nathan Adams 3e7a7854ae tests: Ignore failing avmplus tests 2023-07-26 16:12:57 +02:00
Nathan Adams 6b2813c022 tests: Port some avmplus tests over 2023-07-26 16:12:57 +02:00
sleepycatcoding dc5cf083d2 tests: Add test for close event 2023-07-26 14:01:03 +02:00
sleepycatcoding 28f8937124 tests: Add read socket test (Little Endian) 2023-07-26 14:01:03 +02:00
sleepycatcoding c3582464be tests: Add socket read test (Big Endian) 2023-07-26 14:01:03 +02:00
sleepycatcoding 525c708fe8 tests: Fix some number ranges
Also reduce float precision.
2023-07-26 14:01:03 +02:00
sleepycatcoding f23fe16557 tests: Write a signed short too 2023-07-26 14:01:03 +02:00
sleepycatcoding b169671238 tests: Add test for socket write (Little Endian) 2023-07-26 14:01:03 +02:00
sleepycatcoding 4927d0c6b9 tests: Add test for socket write (Big Endian) 2023-07-26 14:01:03 +02:00
sleepycatcoding d52f2a4409 tests: Add socket_connect test 2023-07-26 14:01:03 +02:00
sleepycatcoding 809e511656 chore: Remove accidental doc change
For some reason my IDE keeps adding random stuff :(
2023-07-26 14:01:03 +02:00
sleepycatcoding 9604b07518 tests: Allow passing path to mocket utility
Also use anyhow to remove some unwraps.
2023-07-26 14:01:03 +02:00
sleepycatcoding a0e40287c9 tests: Rename socket-mock utility to mocket 2023-07-26 14:01:03 +02:00
sleepycatcoding 87ab1a22e9 chore: Fix clippy warning 2023-07-26 14:01:03 +02:00
sleepycatcoding 06e9656841 chore: fmt 2023-07-26 14:01:03 +02:00
sleepycatcoding d5da477df8 tests: Improve socket testing backend 2023-07-26 14:01:03 +02:00
sleepycatcoding 5d29c909c6 tests: Use socket.json when running tests 2023-07-26 14:01:03 +02:00
sleepycatcoding 3e8ee00a67 tests: Move SocketEvent into ruffle_socket_format crate 2023-07-26 14:01:03 +02:00
sleepycatcoding 88626b7212 tests: Add experimental socket_mock tool
This is used to help to create/test socket.json files against real Flash Player to verify behavior.
2023-07-26 14:01:03 +02:00
TÖRÖK Attila d1a94c5d24 tests: Don't exclude WARP from visual tests of blur 2023-07-26 13:03:11 +02:00
TÖRÖK Attila 2e721fdcbe tests: Update the expected output of some visual blur tests 2023-07-26 13:03:11 +02:00
TÖRÖK Attila 9fa3a11b22 tests: Add a visual test for equivalence of blur quality/repetition and filters/applyFilter 2023-07-26 13:03:11 +02:00
TÖRÖK Attila 5f840bf103 tests: Add a visual test for blur filter quality 2023-07-26 13:03:11 +02:00
Aaron Hill a91b0cf5cb avm2: Don't error in DisplayObject.removeChildren when `to` is max
Our previous special-case wasn't broad enough
2023-07-25 21:44:23 -04:00
Aaron Hill 3c64e8e249 avm2: Implement AMF Vector serialization/deserialization
Some of the tests are currently disabled because (separate from this PR)
we can't actually run `toString()` on a Vector.<Object>, due to our
broken vector handling.
2023-07-25 09:35:50 -04:00
CUB3D 7346f9f6cb avm1: Differentiate between clips with no name set and empty string names 2023-07-25 08:25:37 +02:00
TÖRÖK Attila 1c0fff9e12 tests: Update the expected output of the avm2/bitmapdata_sync visual test 2023-07-25 00:38:08 -04:00
sleepycatcoding f2c9237ea1
avm2: Allow setting prototype to undefined (#12282)
* avm2+tests: Allow setting prototype to undefined

This is used internally by Adobe Flex in many places. Also add test.

* avm2: Set prototype when constructing a Function with null prototype

* tests: Expand prototype_set_null test

* chore: fmt
2023-07-24 20:41:38 +00:00
Nathan Adams 92e3e44453 avm1: Reverse iteration when applying filters - fixes #12272 2023-07-24 13:44:02 +02:00
TÖRÖK Attila 0d1f7f8dcc tests: Increase the tolerance of visual tests for the bevel filter slightly
To accomodate platform differences.
2023-07-24 04:44:22 +02:00
TÖRÖK Attila e14b92ae3b tests: Update visual test images due to slightly different blur algorithm 2023-07-24 04:44:22 +02:00
TÖRÖK Attila 7fe1c71257 tests: Add a visual test for fractional blur strength 2023-07-24 04:44:22 +02:00
Nathan Adams 9c661a14c3 tests: Port Shumway's avm1 tests over 2023-07-24 04:26:14 +02:00
Aaron Hill cd9efb2dfa wgpu: Ignore zero width/height Stage3D scissor rect
This matches Flash's behavior, and prevents wgpu from panicking.
2023-07-23 17:05:27 -04:00
Aaron Hill 8941a0bb79 avm2: Clamp ByteArray.position when ByteArray.length is set
Note that ByteArray.position can manually be set out-of-range
afterwards.
2023-07-23 14:51:30 -04:00
Aaron Hill 005fdffd05 avm2: Correctly set fields on ShaderInput and ShaderParameter
The special meta key `defaultValue` should be used to set
the default `value` field. Also, `index` is the position
within *just* the image or texture params, not within
all of the params.
2023-07-23 13:52:26 -04:00
sleepycatcoding f47ed92108 tests: Add test for socket errors 2023-07-23 09:13:01 +02:00
sleepycatcoding 75672ae998 web, tests: Update connect_socket stubs 2023-07-23 09:13:01 +02:00
sleepycatcoding ed22a7a23b web, tests: remove Option for connection timeout 2023-07-23 09:13:01 +02:00
sleepycatcoding 486c0ca149 web, tests: Ignore timeout parameter 2023-07-23 09:13:01 +02:00
sleepycatcoding 437187a7bd tests: Log socket connections on test backend 2023-07-23 09:13:01 +02:00
sleepycatcoding 0699c34881 chore: Fmt 2023-07-23 09:13:01 +02:00
sleepycatcoding e59dd9a8ef web, tests: fix connect_socket stubs 2023-07-23 09:13:01 +02:00
sleepycatcoding 67aa0fcbd4 tests: Stub connect_socket() 2023-07-23 09:13:01 +02:00