Files
Helpddesk/Modules/Stylist/Tests/Feature/ThemeHtmlBuilderTest.php
2026-09-02 17:08:57 +00:00

39 lines
1.2 KiB
PHP
Executable File

<?php
namespace Modules\Stylist\Tests\Feature;
use Modules\Stylist\Html\ThemeHtmlBuilder;
use Tests\TestCase;
final class ThemeHtmlBuilderTest extends TestCase
{
public function test_css_variables_are_rendered(): void
{
config(['stylist.fallback_variables.brand-primary' => '#111827']);
$html = app(ThemeHtmlBuilder::class)->variables()->toHtml();
$this->assertStringContainsString('--brand-primary: #111827;', $html);
}
public function test_appearance_does_not_overwrite_theme_identity(): void
{
$html = app(ThemeHtmlBuilder::class)->variables()->toHtml();
$this->assertStringContainsString('d.dataset.theme=k', $html);
$this->assertStringContainsString('d.dataset.appearance=dark?', $html);
$this->assertStringNotContainsString("d.dataset.theme=dark?'dark':'light'", $html);
}
public function test_appearance_variables_use_data_appearance_selector(): void
{
$html = app(ThemeHtmlBuilder::class)->variables()->toHtml();
if (str_contains($html, 'data-appearance')) {
$this->assertStringNotContainsString(':root[data-theme="dark"]', $html);
} else {
$this->addToAssertionCount(1);
}
}
}