summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-crt-php/tests/StreamTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/aws/aws-crt-php/tests/StreamTest.php')
-rw-r--r--vendor/aws/aws-crt-php/tests/StreamTest.php34
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;
+ }
+}