Skip to content

Commit

Permalink
Add containerMenu and containerMenuTag properties to HasContainerMenu…
Browse files Browse the repository at this point in the history
… trait. (#186)
  • Loading branch information
terabytesoftw committed Dec 31, 2023
1 parent bcf5a84 commit fbecc51
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 14 deletions.
2 changes: 2 additions & 0 deletions src/Attribute/Custom/HasContainerMenu.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@
*/
trait HasContainerMenu
{
protected bool $containerMenu = true;
protected array $containerMenuAttributes = [];
protected string $containerMenuTag = 'nav';

/**
* Enable or disable the container menu tag.
Expand Down
20 changes: 6 additions & 14 deletions tests/Attribute/Custom/HasContainerMenuTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ public function testClass(): void
$instance = new class () {
use HasContainerMenu;

protected bool $containerMenu = true;
protected string $containerMenuTag = 'div';

public function getContainerMenuClass(): string
{
return $this->containerMenuAttributes['class'] ?? '';
Expand All @@ -26,26 +23,23 @@ public function getContainerMenuClass(): string

$this->assertEmpty($instance->getContainerMenuClass());

$instance = $instance->containerMenuClass('test-class');
$instance = $instance->containerMenuClass('class');

$this->assertSame('test-class', $instance->getContainerMenuClass());
$this->assertSame('class', $instance->getContainerMenuClass());

$instance = $instance->containerMenuClass('test-class-1');
$instance = $instance->containerMenuClass('class-1');

$this->assertSame('test-class test-class-1', $instance->getContainerMenuClass());
$this->assertSame('class class-1', $instance->getContainerMenuClass());

$instance = $instance->containerMenuClass('test-override-class', true);
$instance = $instance->containerMenuClass('override-class', true);

$this->assertSame('test-override-class', $instance->getContainerMenuClass());
$this->assertSame('override-class', $instance->getContainerMenuClass());
}

public function testException(): void
{
$instance = new class () {
use HasContainerMenu;

protected bool $containerMenu = true;
protected string $containerMenuTag = '';
};

$this->expectException(InvalidArgumentException::class);
Expand All @@ -58,8 +52,6 @@ public function testImmutability(): void
{
$instance = new class () {
use HasContainerMenu;

protected string $containerMenuTag = 'div';
};

$this->assertNotSame($instance, $instance->containerMenu(true));
Expand Down

0 comments on commit fbecc51

Please sign in to comment.