class FileSecurityTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Component/FileSecurity/FileSecurityTest.php \Drupal\Tests\Component\FileSecurity\FileSecurityTest
- 10 core/tests/Drupal/Tests/Component/FileSecurity/FileSecurityTest.php \Drupal\Tests\Component\FileSecurity\FileSecurityTest
- 9 core/tests/Drupal/Tests/Component/FileSecurity/FileSecurityTest.php \Drupal\Tests\Component\FileSecurity\FileSecurityTest
- 8.9.x core/tests/Drupal/Tests/Component/FileSecurity/FileSecurityTest.php \Drupal\Tests\Component\FileSecurity\FileSecurityTest
Tests the file security component.
Attributes
#[CoversClass(FileSecurity::class)]
#[Group('FileSecurity')]
Hierarchy
- class \Drupal\Tests\Component\FileSecurity\FileSecurityTest extends \PHPUnit\Framework\TestCase
Expanded class hierarchy of FileSecurityTest
File
-
core/
tests/ Drupal/ Tests/ Component/ FileSecurity/ FileSecurityTest.php, line 16
Namespace
Drupal\Tests\Component\FileSecurityView source
class FileSecurityTest extends TestCase {
/**
* Tests write htaccess private.
*/
public function testWriteHtaccessPrivate() : void {
vfsStream::setup('root');
FileSecurity::writeHtaccess(vfsStream::url('root'));
$htaccess_file = vfsStream::url('root') . '/.htaccess';
$this->assertFileExists($htaccess_file);
$this->assertEquals('0444', substr(sprintf('%o', fileperms($htaccess_file)), -4));
$htaccess_contents = file_get_contents($htaccess_file);
$this->assertStringContainsString("Require all denied", $htaccess_contents);
}
/**
* Tests write htaccess public.
*/
public function testWriteHtaccessPublic() : void {
vfsStream::setup('root');
$this->assertTrue(FileSecurity::writeHtaccess(vfsStream::url('root'), FALSE));
$htaccess_file = vfsStream::url('root') . '/.htaccess';
$this->assertFileExists($htaccess_file);
$this->assertEquals('0444', substr(sprintf('%o', fileperms($htaccess_file)), -4));
$htaccess_contents = file_get_contents($htaccess_file);
$this->assertStringNotContainsString("Require all denied", $htaccess_contents);
}
/**
* Tests write htaccess force overwrite.
*/
public function testWriteHtaccessForceOverwrite() : void {
vfsStream::setup('root');
$htaccess_file = vfsStream::url('root') . '/.htaccess';
file_put_contents($htaccess_file, "foo");
$this->assertTrue(FileSecurity::writeHtaccess(vfsStream::url('root'), TRUE, TRUE));
$htaccess_contents = file_get_contents($htaccess_file);
$this->assertStringContainsString("Require all denied", $htaccess_contents);
$this->assertStringNotContainsString("foo", $htaccess_contents);
}
/**
* Tests write htaccess failure.
*/
public function testWriteHtaccessFailure() : void {
vfsStream::setup('root');
$this->assertFalse(FileSecurity::writeHtaccess(vfsStream::url('root') . '/foo'));
}
}
Members
| Title Sort descending | Modifiers | Object type | Summary |
|---|---|---|---|
| FileSecurityTest::testWriteHtaccessFailure | public | function | Tests write htaccess failure. |
| FileSecurityTest::testWriteHtaccessForceOverwrite | public | function | Tests write htaccess force overwrite. |
| FileSecurityTest::testWriteHtaccessPrivate | public | function | Tests write htaccess private. |
| FileSecurityTest::testWriteHtaccessPublic | public | function | Tests write htaccess public. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.