Add tests for read/write (cursor) position on Stream #39
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.
Having Stream instances with different cursor positions come out of the factories depending on implementation breaks interoperability. Simple example: calling
getContents()
on a factory created Stream can give different results.This adds tests to check interoperability between implementations. See [PSR-17] Define where the file position indicator (cursor) ends up to ensure Stream compatibility on the mailing list for more background.
Note that these tests are based on current implementations and not on any strict definitions by the PSR-17 Working Group. This is because nothing is written about file positions at all.
The test for
StreamFactoryInterface::createStream()
is marked as incomplete as there is no clear consensus among implementations. This can either be accepted into this repository as an incomplete test, or can not be merged by omitting 4f49487 from the merge.Not sure what the policy is on these types of tests. But thought I would get the ball rolling with a PR anyway!