LegacyFileTest.php in Drupal 8
File
core/modules/file/tests/src/Unit/LegacyFileTest.php
View source
<?php
namespace Drupal\Tests\file\Unit;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Database\Connection;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\file\FileInterface;
use Drupal\file\FileUsage\DatabaseFileUsageBackend;
use Drupal\file\FileUsage\FileUsageBase;
use PHPUnit\Framework\TestCase;
class LegacyFileTest extends TestCase {
protected $configFactory;
public function setUp() {
parent::setUp();
$this->configFactory = $this
->prophesize(ConfigFactoryInterface::class)
->reveal();
$container = new ContainerBuilder();
$container
->set('config.factory', $this->configFactory);
\Drupal::setContainer($container);
}
public function testFileUsageBaseConstruct() {
$test_file_usage = new TestFileUsage();
$reflection = new \ReflectionObject($test_file_usage);
$config = $reflection
->getProperty('configFactory');
$config
->setAccessible(TRUE);
$this
->assertSame($this->configFactory, $config
->getValue($test_file_usage));
}
public function testDatabaseFileUsageBackendConstruct() {
$connection = $this
->prophesize(Connection::class)
->reveal();
$database_file_usage = new DatabaseFileUsageBackend($connection);
$reflection = new \ReflectionObject($database_file_usage);
$reflection_config = $reflection
->getProperty('configFactory');
$reflection_config
->setAccessible(TRUE);
$reflection_connection = $reflection
->getProperty('connection');
$reflection_connection
->setAccessible(TRUE);
$reflection_table_name = $reflection
->getProperty('tableName');
$reflection_table_name
->setAccessible(TRUE);
$this
->assertSame($this->configFactory, $reflection_config
->getValue($database_file_usage));
$this
->assertSame($connection, $reflection_connection
->getValue($database_file_usage));
$this
->assertSame('file_usage', $reflection_table_name
->getValue($database_file_usage));
$database_file_usage_test_table = new DatabaseFileUsageBackend($connection, 'test_table');
$this
->assertSame('test_table', $reflection_table_name
->getValue($database_file_usage_test_table));
$this
->expectException(\InvalidArgumentException::class);
$database_file_usage_exception = new DatabaseFileUsageBackend('Invalid Argument');
}
}
class TestFileUsage extends FileUsageBase {
public function add(FileInterface $file, $module, $type, $id, $count = 1) {
}
public function delete(FileInterface $file, $module, $type = NULL, $id = NULL, $count = 1) {
}
public function listUsage(FileInterface $file) {
}
}
Classes
Name |
Description |
LegacyFileTest |
Provides unit tests for file module deprecation errors. |
TestFileUsage |
Provides a pass through to the abstract FileUsageBase() constructor. |