improved dark mode, automatic theme switch (#5720)
This commit is contained in:
@@ -250,20 +250,14 @@ abstract class AbstractControllerBaseTestCase extends WebTestCase
|
||||
|
||||
protected function assertMainContentClass(HttpKernelBrowser $client, string $classname): void
|
||||
{
|
||||
self::assertStringContainsString('<section id="" class="content ' . $classname . '">', $client->getResponse()->getContent());
|
||||
self::assertStringContainsString('<section class="content ' . $classname . '">', $client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
*/
|
||||
protected function assertHasDataTable(HttpKernelBrowser $client): void
|
||||
{
|
||||
self::assertStringContainsString('<table class="table table-hover dataTable" role="grid" data-reload-event="', $client->getResponse()->getContent());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
*/
|
||||
protected static function assertHasProgressbar(HttpKernelBrowser $client): void
|
||||
{
|
||||
$content = $client->getResponse()->getContent();
|
||||
@@ -272,11 +266,6 @@ abstract class AbstractControllerBaseTestCase extends WebTestCase
|
||||
self::assertStringContainsString('" aria-valuemin="0" aria-valuemax="100" style="width: ', $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
* @param string $class
|
||||
* @param int $count
|
||||
*/
|
||||
protected function assertDataTableRowCount(HttpKernelBrowser $client, string $class, int $count): void
|
||||
{
|
||||
$node = $client->getCrawler()->filter('section.content div.' . $class . ' table.dataTable tbody tr:not(.summary)');
|
||||
@@ -284,8 +273,7 @@ abstract class AbstractControllerBaseTestCase extends WebTestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
* @param array $buttons
|
||||
* @param array<string, string> $buttons
|
||||
*/
|
||||
protected function assertPageActions(HttpKernelBrowser $client, array $buttons): void
|
||||
{
|
||||
@@ -349,21 +337,14 @@ abstract class AbstractControllerBaseTestCase extends WebTestCase
|
||||
$this->assertHasValidationError($client, $url, $formSelector, $formData, $fieldNames);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
*/
|
||||
protected function assertHasNoEntriesWithFilter(HttpKernelBrowser $client): void
|
||||
{
|
||||
$this->assertCalloutWidgetWithMessage($client, 'No entries were found based on your selected filters.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
* @param string $message
|
||||
*/
|
||||
protected function assertCalloutWidgetWithMessage(HttpKernelBrowser $client, string $message): void
|
||||
{
|
||||
$node = $client->getCrawler()->filter('div.alert.alert-warning.alert-important');
|
||||
$node = $client->getCrawler()->filter('div.alert.alert-info');
|
||||
self::assertStringContainsString($message, $node->text(null, true));
|
||||
}
|
||||
|
||||
@@ -377,19 +358,11 @@ abstract class AbstractControllerBaseTestCase extends WebTestCase
|
||||
$this->assertHasFlashSuccess($client, 'Saved changes');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
* @param string|null $message
|
||||
*/
|
||||
protected function assertHasFlashSuccess(HttpKernelBrowser $client, ?string $message = null): void
|
||||
{
|
||||
$this->assertHasFlashMessage($client, 'success', $message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param HttpKernelBrowser $client
|
||||
* @param string|null $message
|
||||
*/
|
||||
protected function assertHasFlashError(HttpKernelBrowser $client, ?string $message = null): void
|
||||
{
|
||||
$this->assertHasFlashMessage($client, 'error', $message);
|
||||
|
||||
@@ -31,7 +31,8 @@ class PluginControllerTest extends AbstractControllerBaseTestCase
|
||||
{
|
||||
$client = $this->getClientForAuthenticatedUser(User::ROLE_SUPER_ADMIN);
|
||||
$this->assertAccessIsGranted($client, '/admin/plugins/');
|
||||
$this->assertCalloutWidgetWithMessage($client, 'You have no plugins installed yet');
|
||||
$node = $client->getCrawler()->filter('div.alert.alert-warning');
|
||||
self::assertStringContainsString('You have no plugins installed yet', $node->text(null, true));
|
||||
}
|
||||
|
||||
public function testIndexActionWithInstalledPlugins(): void
|
||||
|
||||
@@ -16,6 +16,80 @@ use PHPUnit\Framework\TestCase;
|
||||
#[CoversClass(MenuItemModel::class)]
|
||||
class MenuItemModelTest extends TestCase
|
||||
{
|
||||
public function testDefaults(): void
|
||||
{
|
||||
$sut = new MenuItemModel('test', 'foo', 'bar');
|
||||
|
||||
self::assertEquals('test', $sut->getIdentifier());
|
||||
|
||||
self::assertEquals('foo', $sut->getLabel());
|
||||
$sut->setLabel('new-label');
|
||||
self::assertEquals('new-label', $sut->getLabel());
|
||||
|
||||
self::assertEquals('messages', $sut->getTranslationDomain());
|
||||
$sut->setTranslationDomain('custom');
|
||||
self::assertEquals('custom', $sut->getTranslationDomain());
|
||||
|
||||
self::assertNull($sut->getIcon());
|
||||
$sut->setIcon('icon-123');
|
||||
self::assertEquals('icon-123', $sut->getIcon());
|
||||
|
||||
self::assertFalse($sut->isDivider());
|
||||
$sut->setDivider(true);
|
||||
self::assertTrue($sut->isDivider());
|
||||
|
||||
self::assertNull($sut->getBadge());
|
||||
$sut->setBadge('99');
|
||||
self::assertEquals('99', $sut->getBadge());
|
||||
|
||||
self::assertNull($sut->getBadgeColor());
|
||||
$sut->setBadgeColor('blue');
|
||||
self::assertEquals('blue', $sut->getBadgeColor());
|
||||
|
||||
self::assertEquals([], $sut->getRouteArgs());
|
||||
$sut->setRouteArgs(['a' => 'b']);
|
||||
self::assertEquals(['a' => 'b'], $sut->getRouteArgs());
|
||||
|
||||
self::assertFalse($sut->getIsActive());
|
||||
self::assertFalse($sut->isActive());
|
||||
$sut->setIsActive(true);
|
||||
self::assertTrue($sut->isActive());
|
||||
self::assertTrue($sut->getIsActive());
|
||||
|
||||
self::assertFalse($sut->isChildRoute('route1'));
|
||||
$sut->setChildRoutes(['route1']);
|
||||
self::assertTrue($sut->isChildRoute('route1'));
|
||||
$sut->addChildRoute('route2');
|
||||
self::assertTrue($sut->isChildRoute('route1'));
|
||||
self::assertTrue($sut->isChildRoute('route2'));
|
||||
|
||||
self::assertFalse($sut->isDisabled());
|
||||
$sut->setDisabled(true);
|
||||
self::assertTrue($sut->isDisabled());
|
||||
|
||||
self::assertFalse($sut->isExpanded());
|
||||
$sut->setExpanded(true);
|
||||
self::assertTrue($sut->isExpanded());
|
||||
|
||||
// validate default getter values
|
||||
self::assertNull($sut->getActiveChild());
|
||||
self::assertNull($sut->getChild('x'));
|
||||
|
||||
self::assertEquals('bar', $sut->getRoute());
|
||||
$sut->setRoute('bar2');
|
||||
self::assertEquals('bar2', $sut->getRoute());
|
||||
|
||||
self::assertNull($sut->getParent());
|
||||
$parent = new MenuItemModel('parent', 'parent-label');
|
||||
$sut->setParent($parent);
|
||||
self::assertSame($parent, $sut->getParent());
|
||||
|
||||
self::assertEquals([], $sut->getChildren());
|
||||
$child = new MenuItemModel('child', 'child-label');
|
||||
$sut->setChildren([$child]);
|
||||
self::assertEquals([$child], $sut->getChildren());
|
||||
}
|
||||
|
||||
public function testChildRoutes(): void
|
||||
{
|
||||
$sut = new MenuItemModel('test', 'foo', 'bar');
|
||||
|
||||
@@ -526,11 +526,6 @@ parameters:
|
||||
count: 1
|
||||
path: Controller/AbstractControllerBaseTestCase.php
|
||||
|
||||
-
|
||||
message: "#^Method App\\\\Tests\\\\Controller\\\\AbstractControllerBaseTestCase\\:\\:assertPageActions\\(\\) has parameter \\$buttons with no value type specified in iterable type array\\.$#"
|
||||
count: 1
|
||||
path: Controller/AbstractControllerBaseTestCase.php
|
||||
|
||||
-
|
||||
message: "#^Method App\\\\Tests\\\\Controller\\\\AbstractControllerBaseTestCase\\:\\:importFixture\\(\\) return type has no value type specified in iterable type array\\.$#"
|
||||
count: 1
|
||||
|
||||
Reference in New Issue
Block a user