Skip to content

Expand property accesses in #expect() and #require(). #161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 15, 2023

Conversation

grynspan
Copy link
Contributor

@grynspan grynspan commented Dec 14, 2023

Currently, swift-testing is able to expand member function accesses like foo.bar() into foo and bar() so that it can provide the values of both subexpressions on expectation failure. This PR enables the same sort of functionality for property accesses (foo.isBar).

This PR also ensures that optional chaining in either member function calls or property accesses is observed so that an expression like foo?.bar() will not fail to compile.

Checklist:

  • Code and documentation should follow the style of the Style Guide.
  • If public symbols are renamed or modified, DocC references should be updated.

Currently, swift-testing is able to expand member function accesses like `foo.bar()` into `foo` and `bar()` so that it can provide the values of both subexpressions on expectation failure. This PR enables the same sort of functionality for property accesses (`foo.isBar`).

This PR also ensures that optional chaining in either member function calls or property accesses is observed so that an expression like `foo?.bar()` will not fail to compile.
@grynspan
Copy link
Contributor Author

@swift-ci please test

Copy link
Contributor

@briancroom briancroom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, thanks!

@grynspan grynspan merged commit f955de6 into main Dec 15, 2023
@grynspan grynspan deleted the jgrynspan/expand-property-accesses branch December 15, 2023 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants