Commit Graph

1563 Commits

Author SHA1 Message Date
Kamil Jarosz fe4e180adf tests: Add attach_movie_stop test
This test verifies that stop() works properly for a movie clip
attached with attachMovie in DoInitAction.
2024-05-28 23:57:13 +02:00
Kamil Jarosz 2ee5d522bf tests: Add focus_visibility_change test
This test verifies the behavior of focus when its visibility is changed.
2024-05-28 23:01:12 +02:00
Kamil Jarosz 133ea462ba tests: Update focus_remove test
Make sure that focus change is logged even if the focus is removed.
That additionally verifies that handlers are properly called.
2024-05-28 23:01:12 +02:00
sleepycatcoding cd24b91a82 avm2: Implement XMLList to XML proxy methods 2024-05-27 21:47:22 +02:00
sleepycatcoding ab0792904b avm2: Stub XML.add/set/removeNamespace 2024-05-27 21:47:22 +02:00
Nathan Adams 381b0897c9 avm2: Implement ExternalInterface.objectID 2024-05-26 23:00:33 +02:00
Kamil Jarosz f195b5b38a tests: Add edittext_drag_select test
This test verifies that text in ExitText may be selected by dragging.
2024-05-26 12:38:16 +02:00
Adrian Wielgosik bafc5d250e tests: Add a depdendent string test, with test-only AS3 2024-05-26 12:14:30 +02:00
Kamil Jarosz 1080c8bffa tests: Add button_keypress_vs_tab test
This test verifies that the KeyPress event handling
has precedence over tabbing.
2024-05-25 01:12:43 +02:00
Kamil Jarosz 3aa7c07e95 tests: Add edittext_selection_filter test
This test verifies that selection is rendered when filters are present.
2024-05-24 23:52:03 +02:00
sleepycatcoding a5c3474bbc avm2: Implement Namespace enumeration 2024-05-21 20:26:35 +02:00
Nathan Adams b9947a2d1c avm2: Add more Namespace tests and fixed some other cases 2024-05-21 19:57:39 +02:00
Nathan Adams 3692cbbb2e avm2: Implement Namespace constructor and prefix 2024-05-21 19:57:39 +02:00
Aaron Hill f301b23f6e core: Treat NaN rotation as 0.0 when setting scaleX/scaleY
The `rotation` value is still reported to ActionScript as `NaN`,
but we treat it as 0.0 when computing the new matrix in the
scaleX/scaleY setters.
2024-05-19 09:52:07 -07:00
Colin f573f7b141 avm1: Make clip have correct properties when the target of loadClip 2024-05-17 23:07:44 +02:00
dependabot[bot] 5fbf39fd7a build(deps): bump the cargo-minor group across 1 directory with 7 updates
Bumps the cargo-minor group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel) | `2.3.0` | `2.3.1` |
| [serde](https://github.com/serde-rs/serde) | `1.0.201` | `1.0.202` |
| [either](https://github.com/rayon-rs/either) | `1.11.0` | `1.12.0` |
| [syn](https://github.com/dtolnay/syn) | `2.0.63` | `2.0.64` |
| [toml_edit](https://github.com/toml-rs/toml) | `0.22.12` | `0.22.13` |
| [insta](https://github.com/mitsuhiko/insta) | `1.38.0` | `1.39.0` |
| [toml](https://github.com/toml-rs/toml) | `0.8.12` | `0.8.13` |



Updates `async-channel` from 2.3.0 to 2.3.1
- [Release notes](https://github.com/smol-rs/async-channel/releases)
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.3.0...v2.3.1)

Updates `serde` from 1.0.201 to 1.0.202
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.201...v1.0.202)

Updates `either` from 1.11.0 to 1.12.0
- [Commits](https://github.com/rayon-rs/either/compare/1.11.0...1.12.0)

Updates `syn` from 2.0.63 to 2.0.64
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.63...2.0.64)

Updates `toml_edit` from 0.22.12 to 0.22.13
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.12...v0.22.13)

Updates `insta` from 1.38.0 to 1.39.0
- [Release notes](https://github.com/mitsuhiko/insta/releases)
- [Changelog](https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mitsuhiko/insta/compare/1.38.0...1.39.0)

Updates `toml` from 0.8.12 to 0.8.13
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.12...toml-v0.8.13)

---
updated-dependencies:
- dependency-name: async-channel
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: either
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: toml_edit
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: insta
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: toml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-17 01:41:44 +02:00
Nathan Adams b25fe69bac avm1: Implement StyleSheet.load 2024-05-17 00:37:39 +02:00
Nathan Adams c1e197189d avm1: Implement most of StyleSheet 2024-05-17 00:37:39 +02:00
Nathan Adams b8c1263f9e avm1: Expose NativeObjects through SuperObject - fixes g2conline 2024-05-17 00:02:45 +02:00
Nathan Adams dfd9a26a7b avm1: Implement NetConnection, more or less 2024-05-17 00:02:45 +02:00
Kamil Jarosz 710232ee69 tests: Add tab_ordering_automatic_advanced test
This test verifies the exact behavior of the automatic tab order.
2024-05-16 21:40:56 +02:00
Kamil Jarosz f4fb689c7b tests: Fix tab_ordering_automatic_order_same_position
This test was passing totally by accident.

It contained two objects that were lying on the same y=-(x-p)/6 line.
Using the automatic order, only one of these objects should be tabbable,
however in output.txt we can see them both (clipInner2 and clip5b).
That's because the test was performed in FP with a zoom less than 100%,
which apparently changed how FP sees coordinates.
2024-05-16 21:40:56 +02:00
Nathan Adams 519de0e230 avm1: Implement __resolve 2024-05-15 22:45:56 +02:00
Aaron Hill 4d2b2893ae avm2: Prevent loader mouse pick from targeting direct child
Loaders have a similar behavior to the main stage - if a mouse pick
would target their direct child (the root movieclip in the stage case,
and the loaded MovieClip in the Loader case), the Stage/Loader is
targeted instead.
2024-05-15 13:41:17 -04:00
Aaron Hill 60000d6930 avm2: Skip mouse pick for all mask children
We were previosuly only checking 'clip_depth', but we should
also check 'maskee()'
2024-05-15 12:30:51 -04:00
Nathan Adams 7309e457d5 avm2: Transform css properties from with-dashes to snakeCase 2024-05-14 21:03:37 +02:00
Nathan Adams 24b01b8f89 avm2: Implement StyleSheet.transform() 2024-05-14 21:03:37 +02:00
Nathan Adams 7e1bc84bdf avm2: Implement most of StyleSheet 2024-05-14 21:03:37 +02:00
Kamil Jarosz 94bd9be4b8 tests: Add tab_ordering_custom_duplicate_index test
This test verifies the custom tab ordering when multiple objects
have the same tab index.
2024-05-14 18:33:46 +02:00
dependabot[bot] 819abe8420 build(deps): bump the cargo-minor group with 14 updates
Bumps the cargo-minor group with 14 updates:

| Package | From | To |
| --- | --- | --- |
| [async-channel](https://github.com/smol-rs/async-channel) | `2.2.1` | `2.3.0` |
| [serde](https://github.com/serde-rs/serde) | `1.0.200` | `1.0.201` |
| [thiserror](https://github.com/dtolnay/thiserror) | `1.0.59` | `1.0.60` |
| [linkme](https://github.com/dtolnay/linkme) | `0.3.25` | `0.3.26` |
| [bitstream-io](https://github.com/tuffy/bitstream-io) | `2.2.0` | `2.3.0` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.116` | `1.0.117` |
| [ttf-parser](https://github.com/RazrFalcon/ttf-parser) | `0.20.0` | `0.21.1` |
| [num-bigint](https://github.com/rust-num/num-bigint) | `0.4.4` | `0.4.5` |
| [syn](https://github.com/dtolnay/syn) | `2.0.60` | `2.0.63` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.81` | `1.0.82` |
| [fontdb](https://github.com/RazrFalcon/fontdb) | `0.16.2` | `0.17.0` |
| [unic-langid](https://github.com/zbraniecki/unic-locale) | `0.9.4` | `0.9.5` |
| [zip](https://github.com/zip-rs/zip2) | `1.2.0` | `1.2.3` |
| [libtest-mimic](https://github.com/LukasKalbertodt/libtest-mimic) | `0.7.2` | `0.7.3` |


Updates `async-channel` from 2.2.1 to 2.3.0
- [Release notes](https://github.com/smol-rs/async-channel/releases)
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.2.1...v2.3.0)

Updates `serde` from 1.0.200 to 1.0.201
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.200...v1.0.201)

Updates `thiserror` from 1.0.59 to 1.0.60
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.60)

Updates `linkme` from 0.3.25 to 0.3.26
- [Release notes](https://github.com/dtolnay/linkme/releases)
- [Commits](https://github.com/dtolnay/linkme/compare/0.3.25...0.3.26)

Updates `bitstream-io` from 2.2.0 to 2.3.0
- [Commits](https://github.com/tuffy/bitstream-io/compare/v2.2.0...v2.3.0)

Updates `serde_json` from 1.0.116 to 1.0.117
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117)

Updates `ttf-parser` from 0.20.0 to 0.21.1
- [Changelog](https://github.com/RazrFalcon/ttf-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/ttf-parser/compare/v0.20.0...v0.21.1)

Updates `num-bigint` from 0.4.4 to 0.4.5
- [Changelog](https://github.com/rust-num/num-bigint/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-bigint/compare/num-bigint-0.4.4...num-bigint-0.4.5)

Updates `syn` from 2.0.60 to 2.0.63
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.60...2.0.63)

Updates `proc-macro2` from 1.0.81 to 1.0.82
- [Release notes](https://github.com/dtolnay/proc-macro2/releases)
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.82)

Updates `fontdb` from 0.16.2 to 0.17.0
- [Changelog](https://github.com/RazrFalcon/fontdb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/RazrFalcon/fontdb/compare/v0.16.2...v0.17.0)

Updates `unic-langid` from 0.9.4 to 0.9.5
- [Release notes](https://github.com/zbraniecki/unic-locale/releases)
- [Commits](https://github.com/zbraniecki/unic-locale/commits)

Updates `zip` from 1.2.0 to 1.2.3
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zip-rs/zip2/compare/v1.2.0...v1.2.3)

Updates `libtest-mimic` from 0.7.2 to 0.7.3
- [Release notes](https://github.com/LukasKalbertodt/libtest-mimic/releases)
- [Changelog](https://github.com/LukasKalbertodt/libtest-mimic/blob/master/CHANGELOG.md)
- [Commits](https://github.com/LukasKalbertodt/libtest-mimic/compare/v0.7.2...v0.7.3)

---
updated-dependencies:
- dependency-name: async-channel
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: linkme
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: bitstream-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: ttf-parser
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: num-bigint
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: proc-macro2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: fontdb
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor
- dependency-name: unic-langid
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: zip
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
- dependency-name: libtest-mimic
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 15:49:29 +02:00
Kamil Jarosz 636011e95e tests: Add focus_highlight_avm1_button test
This test verifies how the highlight behaves for AVM1 buttons.
2024-05-10 23:52:01 +02:00
Kamil Jarosz b4cbac6964 tests: Add button_keypress_vs_press test
This test ensures that button key press events take precedence
over pressing focused buttons with keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz df5e5e6035 tests: Add focus_keyboard_press test
This test verifies the behavior of pressing buttons with a keyboard.
2024-05-10 22:42:03 +02:00
Kamil Jarosz ea3ac098dd tests: Add avm1/button_key_events_special test
This test verifies the behavior of button events when
special characters are pressed.
2024-05-09 21:13:13 +02:00
Kamil Jarosz fb2d8222eb tests: Add avm1/button_keypress_vs_textinput test
This test ensures that button key press events take precedence
over text input.
2024-05-09 21:13:13 +02:00
Kamil Jarosz cc3316188a tests: Add focus_highlight_move test
This test verifies the behavior of focus hightlight when the
focused element is transformed; additionally, it verifies how
the active highlight behaves when _focusrect is set to false.
2024-05-09 00:40:25 +02:00
Kamil Jarosz 45dca764c6 tests: Add avm2/focus_remove test
This test verifies the behavior of stage.focus
when the focus is removed from the stage.
2024-05-07 22:56:25 +02:00
Kamil Jarosz b3091ec785 tests: Add avm1/focus_remove test
This test verifies the behavior of Selection.getFocus()
when the focus is removed.
2024-05-07 22:56:25 +02:00
Adrian Wielgosik 19b7cc9025 avm2: Add extra failing tests for button child events 2024-05-07 22:42:52 +02:00
Adrian Wielgosik 120bfa2b30 avm2: Send ADDED_TO_STAGE in SimpleButton at correct time 2024-05-07 22:42:52 +02:00
Kamil Jarosz d852c74b3a tests: Add avm2/filereference_save_and_load test
This test ensures that the error 2037 is thrown
when load is called after save.

It's currently a known failure as Ruffle is not as strict as FP
regarding throwing the error 2037.
2024-05-07 22:26:30 +02:00
Kamil Jarosz 6ea64c92f4 tests: Add avm2/filereference_save_and_browse test
This test verifies how FileReference behaves when a browse (and load)
operations are triggered after save.

Additionally, it marks the commented out code related to reporting
file size as FIXME, because the current implementation reports
the size at all times, instead of only after saving.
2024-05-07 22:26:30 +02:00
Kamil Jarosz 8e6e71b2f7 web: Download the file on FileReference.save
This patch adds support for saving files on web using FileReference.
When writing data, a download is triggered with the default file name.
Currently, there's no dialog that lets the user select save destination.

This patch also ensures that all implementations of FileDialogResult
behave the same way: desktop, web, and tests.
The methods `write` and `refresh` have been merged into one:
`write_and_refresh`, which allows the tests and web implementations
behave the same way as desktop.
2024-05-07 22:26:30 +02:00
Kamil Jarosz 0f1c647c1c tests: Add avm2/edittext_selected_text test 2024-05-06 22:17:41 +02:00
Kamil Jarosz eef694e9da tests: Add missing text control codes 2024-05-06 22:17:41 +02:00
Kamil Jarosz e09e199eb3 tests: Fix text control codes mapping 2024-05-06 22:17:41 +02:00
Polo 0910df8307
avm2: Implement XML.contains (#16206)
* avm2: XML.contains() implemented

* tests: XMLList known_failure removed

* avm2: XML manual checks removed

* avm2: XMLList.contains() behavior fixed

* avm2: XML contains method moved to xml.rs

* avm2: Empty line removed in xml.rs

* avm2: XML contains args name renamed to value
2024-05-06 17:40:03 +00:00
Kamil Jarosz 8a9d4f52c4 tests: Add avm2/focus_stage test
This test verifies the behavior of focus and focus highlight
for the stage object.
2024-05-04 17:05:24 -07:00
Colin d970c32ac0 tests: add avm1/mcl_loadclip_onload_target 2024-05-02 17:37:20 +02:00
Kamil Jarosz e89869660f tests: Add avm1/tab_ordering_custom_m1
This test verifies the behavior of tabIndex = -1.
2024-04-30 14:23:45 +02:00