OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
google
/
cloud-storage
/
tests
/
System
/
StreamWrapper
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:35:01 AM
rwxr-xr-x
📄
AppendTest.php
3.34 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
DirectoryTest.php
4.98 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
FlushTest.php
4.46 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
ImageTest.php
2.19 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
ReadTest.php
1.76 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
RenameTest.php
1.73 KB
08/12/2024 10:35:01 AM
rw-r--r--
📄
StreamWrapperTestCase.php
1.41 KB
08/12/2024 10:35:02 AM
rw-r--r--
📄
UrlStatTest.php
2.92 KB
08/12/2024 10:35:02 AM
rw-r--r--
📄
WriteTest.php
2.25 KB
08/12/2024 10:35:02 AM
rw-r--r--
Editing: FlushTest.php
Close
<?php /** * Copyright 2020 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace Google\Cloud\Storage\Tests\System\StreamWrapper; use Google\Cloud\Storage\StreamWrapper; /** * @group storage * @group storage-stream-wrapper * @group storage-stream-wrapper-flush */ class FlushTest extends StreamWrapperTestCase { private static $fileName = 'flush.txt'; private static $binFileName = 'flush'; private $fileUrl; private $tailFileUrl; private $binFileUrl; private $tailBinFileUrl; public function setUp(): void { $this->fileUrl = self::generateUrl(self::$fileName); $this->tailFileUrl = $this->fileUrl . StreamWrapper::TAIL_NAME_SUFFIX; $this->binFileUrl = self::generateUrl(self::$binFileName); $this->tailBinFileUrl = $this->binFileUrl . StreamWrapper::TAIL_NAME_SUFFIX; unlink($this->fileUrl); } public function tearDown(): void { unlink($this->fileUrl); unlink($this->tailFileUrl); unlink($this->binFileUrl); unlink($this->tailBinFileUrl); } public function testFlushOff() { $f = fopen($this->fileUrl, 'w'); fwrite($f, 'hello'); $this->assertFalse(fflush($f)); fwrite($f, ' world'); fclose($f); $info = static::$bucket->object(self::$fileName)->info(); $this->assertArrayNotHasKey('componentCount', $info); $this->assertEquals('hello world', file_get_contents($this->fileUrl)); } public function testFlushOnAndCalled() { $ctx = stream_context_create(['gs' => ['flush' => true]]); $f = fopen($this->fileUrl, 'w', false, $ctx); fwrite($f, 'hello'); $this->assertTrue(fflush($f)); fwrite($f, ' world'); $this->assertTrue(fflush($f)); fwrite($f, '!'); fclose($f); $info = static::$bucket->object(self::$fileName)->info(); $this->assertArrayHasKey('componentCount', $info); $this->assertEquals(3, $info['componentCount']); $this->assertEquals('hello world!', file_get_contents($this->fileUrl)); $this->assertFalse(file_exists($this->tailFileUrl)); } public function testFlushOnAndNotCalled() { $ctx = stream_context_create(['gs' => ['flush' => true]]); $f = fopen($this->fileUrl, 'w', false, $ctx); fwrite($f, 'hello'); fwrite($f, ' world'); fwrite($f, '!'); fclose($f); $info = static::$bucket->object(self::$fileName)->info(); $this->assertArrayNotHasKey('componentCount', $info); $this->assertEquals('hello world!', file_get_contents($this->fileUrl)); $this->assertFalse(file_exists($this->tailFileUrl)); } public function testFlushEmptyBuffer() { $ctx = stream_context_create(['gs' => ['flush' => true]]); $f = fopen($this->fileUrl, 'w', false, $ctx); $this->assertTrue(fflush($f)); fwrite($f, 'hello'); fflush($f); fflush($f); fwrite($f, ' world'); fclose($f); $info = static::$bucket->object(self::$fileName)->info(); $this->assertArrayHasKey('componentCount', $info); $this->assertEquals(2, $info['componentCount']); $this->assertFalse(file_exists($this->tailFileUrl)); } public function testFlushNoContentType() { $ctx = stream_context_create(['gs' => ['flush' => true]]); $f = fopen($this->binFileUrl, 'w', false, $ctx); fwrite($f, '0'); fflush($f); fwrite($f, '1'); fclose($f); $info = static::$bucket->object(self::$binFileName)->info(); $this->assertArrayHasKey('componentCount', $info); $this->assertEquals(2, $info['componentCount']); $this->assertEquals('application/octet-stream', $info['contentType']); $this->assertFalse(file_exists($this->tailBinFileUrl)); } }