Add a preferredName(for:basedOn:) member to Attachable to allow customizing filenames.
#854
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.
This PR introduces a new optional member of
Attachable,preferredName(for:basedOn:), that we use when writing the corresponding attachment to disk/test reports/etc. in order to allow attachable types to customize the name independently of what the user specifies.For example:
In both the attachments created above, the file name is incompletely specified.
ahas a default name, and bothaandbhave no path extension (which is important for the OS to correctly recognize the produced file's type.) By adding this new function toAttachable, we givexandythe opportunity to say "this is JPEG data" or "this is plain text" (and so forth.)The new function is implemented by
_AttachableImageContainer. I've also created_AttachableURLContainerto represent files mapped from disk for attachment (instead of directly passing them around asData.)Third-party conforming types will generally want to use Foundation's
NSStringorURLAPI to append path extensions (etc.)Note
Attachments remain experimental.
Checklist: