diff options
Diffstat (limited to 'vendor/aws/aws-crt-php/tests/StreamTest.php')
-rw-r--r-- | vendor/aws/aws-crt-php/tests/StreamTest.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/vendor/aws/aws-crt-php/tests/StreamTest.php b/vendor/aws/aws-crt-php/tests/StreamTest.php new file mode 100644 index 0000000..f8a116a --- /dev/null +++ b/vendor/aws/aws-crt-php/tests/StreamTest.php @@ -0,0 +1,34 @@ +<?php +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ +use AWS\CRT\IO\InputStream as InputStream; + +require_once('common.inc'); + +final class InputStreamTest extends CrtTestCase { + + const MEM_STREAM_CONTENTS = "THIS IS A TEST"; + + private function getMemoryStream() { + $stream = fopen("php://memory", 'r+'); + fputs($stream, self::MEM_STREAM_CONTENTS); + rewind($stream); + return $stream; + } + + public function testMemoryStream() { + $mem_stream = $this->getMemoryStream(); + $stream = new InputStream($mem_stream); + $this->assertNotNull($stream, "Failed to create InputStream from PHP memory stream"); + $this->assertEquals(strlen(self::MEM_STREAM_CONTENTS), $stream->length(), "Stream length doesn't match source buffer"); + $this->assertEquals(self::MEM_STREAM_CONTENTS, $stream->read(), "Stream doesn't match source buffer"); + $this->assertTrue($stream->eof(), "Stream is not EOF after reading"); + $this->assertEquals(0, $stream->seek(0, InputStream::SEEK_BEGIN), "Unable to rewind stream"); + $this->assertFalse($stream->eof(), "Stream is EOF after rewinding"); + $this->assertEquals(0, $stream->seek(0, InputStream::SEEK_END), "Unable to seek to end of stream"); + $this->assertTrue($stream->eof(), "Stream is not EOF after seeking to end"); + $stream = null; + } +} |