1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-25 14:50:48 +02:00

Refactor config handling

This commit is contained in:
Oliver Vogel
2024-05-10 10:04:11 +02:00
parent 51a81c845b
commit b79650acee
10 changed files with 143 additions and 49 deletions

View File

@@ -13,6 +13,57 @@ final class ConfigTest extends BaseTestCase
{
public function testConstructor(): void
{
$this->assertInstanceOf(Config::class, new Config());
$config = new Config();
$this->assertInstanceOf(Config::class, $config);
$this->assertTrue($config->option('autoOrientation'));
$this->assertTrue($config->option('decodeAnimation'));
$this->assertEquals('ffffff00', $config->option('blendingColor'));
$config = new Config(
autoOrientation: false,
decodeAnimation: false,
blendingColor: 'f00',
);
$this->assertInstanceOf(Config::class, $config);
$this->assertFalse($config->option('autoOrientation'));
$this->assertFalse($config->option('decodeAnimation'));
$this->assertEquals('f00', $config->option('blendingColor'));
}
public function testGetSetOptions(): void
{
$config = new Config();
$this->assertTrue($config->option('autoOrientation'));
$this->assertTrue($config->option('decodeAnimation'));
$this->assertEquals('ffffff00', $config->option('blendingColor'));
$result = $config->setOptions(
autoOrientation: false,
decodeAnimation: false,
blendingColor: 'f00',
);
$this->assertFalse($config->option('autoOrientation'));
$this->assertFalse($config->option('decodeAnimation'));
$this->assertEquals('f00', $config->option('blendingColor'));
$this->assertFalse($result->option('autoOrientation'));
$this->assertFalse($result->option('decodeAnimation'));
$this->assertEquals('f00', $result->option('blendingColor'));
$result = $config->setOption('blendingColor', '000');
$this->assertFalse($config->option('autoOrientation'));
$this->assertFalse($config->option('decodeAnimation'));
$this->assertEquals('000', $config->option('blendingColor'));
$this->assertFalse($result->option('autoOrientation'));
$this->assertFalse($result->option('decodeAnimation'));
$this->assertEquals('000', $result->option('blendingColor'));
$this->assertNull($config->option('unknown'));
$this->assertEquals('test', $config->option('unknown', 'test'));
}
}