Adding some tests for checking the spreading behaviour of objects returned by a worklet.#180
Open
jtklein wants to merge 11 commits intomargelo:mainfrom
Open
Adding some tests for checking the spreading behaviour of objects returned by a worklet.#180jtklein wants to merge 11 commits intomargelo:mainfrom
jtklein wants to merge 11 commits intomargelo:mainfrom
Conversation
mrousavy
requested changes
May 3, 2024
example/Tests/worklet-tests.ts
Outdated
| return ExpectValue(spreadObject, { a: 100 }); | ||
| }, | ||
| check_jsi_object_is_assignable_after_worklet: async () => { | ||
| const fw = () => { |
Member
There was a problem hiding this comment.
Please use better naming than two characters - something like func here
example/Tests/worklet-tests.ts
Outdated
| "worklet"; | ||
| return { a: 100 }; | ||
| }; | ||
| let wf = Worklets.defaultContext.createRunAsync(fw); |
Member
There was a problem hiding this comment.
Also we can just do runAsync(func) instead of the create stuff. It's less code.
| }; | ||
| let wf = Worklets.defaultContext.createRunAsync(fw); | ||
| const result = await wf(); | ||
| const assignedObject = Object.assign({}, result); |
Member
There was a problem hiding this comment.
I thought the problem was when using Object.assign/spread inside a Worklet?
Contributor
Author
There was a problem hiding this comment.
No, I have added a test below to show that spreading inside the worklet works as expected.
My use case was to spread the object that is returned by the worklet, and I have not spread inside worklet in production code, so I have no further experience with it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The added
check_jsi_object_is_returned_from_worklettest passes to show that the correct object is returned. It might be redundant compared the current main, I have not done an exhaustive check there.However, in contrast - but on top of the previous test - the two newly added tests
check_jsi_object_is_spreadable_after_workletandcheck_jsi_object_is_assignable_after_workletfail, showing that neither spread syntax norObject.assign()can be used with the returned "object".