phpmyadmin/test/classes/Properties/Options/OptionsPropertyGroupTest.php
Maurício Meneghini Fauth 555ea56cbd
Make PHPUnit's assertions stricter
Backports #18993 to QA_5_2.

This makes merging QA_5_2 into master easier.

Signed-off-by: Maurício Meneghini Fauth <mauricio@mfauth.net>
2024-10-12 15:33:45 -03:00

98 lines
2.5 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Properties\Options;
use PhpMyAdmin\Properties\Options\OptionsPropertyGroup;
use PhpMyAdmin\Tests\AbstractTestCase;
use PHPUnit\Framework\MockObject\MockObject;
use ReflectionProperty;
/**
* @covers \PhpMyAdmin\Properties\Options\OptionsPropertyGroup
*/
class OptionsPropertyGroupTest extends AbstractTestCase
{
/** @var OptionsPropertyGroup|MockObject */
protected $stub;
/**
* Configures global environment.
*/
protected function setUp(): void
{
parent::setUp();
$this->stub = $this->getMockForAbstractClass(OptionsPropertyGroup::class);
}
/**
* tearDown for test cases
*/
protected function tearDown(): void
{
parent::tearDown();
unset($this->stub);
}
public function testAddProperty(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
$this->stub->addProperty(2);
$this->stub->addProperty('2');
self::assertSame([
1,
2,
3,
'2',
], $properties->getValue($this->stub));
}
public function testRemoveProperty(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 'test', 3]);
$this->stub->removeProperty('test');
self::assertSame([
0 => 1,
1 => 2,
3 => 3,
], $properties->getValue($this->stub));
}
public function testGetGroup(): void
{
self::assertInstanceOf(OptionsPropertyGroup::class, $this->stub->getGroup());
}
public function testGetProperties(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
self::assertSame([
1,
2,
3,
], $this->stub->getProperties());
}
public function testGetNrOfProperties(): void
{
$properties = new ReflectionProperty(OptionsPropertyGroup::class, 'properties');
$properties->setAccessible(true);
$properties->setValue($this->stub, [1, 2, 3]);
self::assertSame(3, $this->stub->getNrOfProperties());
}
}