blade('') ->assertSee('({"default":"system","key":"material-theme","legacy":[],"rail":{"default":"expanded","key":"material-rail"}})', false); }); it('takes the application\'s default, key and legacy keys', function () { config(['livewire-material.theme' => [ 'default' => 'dark', 'storage_key' => 'sealshare-theme', 'legacy_keys' => ['mary-theme'], ]]); $this->blade('') ->assertSee('"default":"dark","key":"sealshare-theme","legacy":["mary-theme"]', false); }); it('falls back to the operating system for a default it does not know', function () { config(['livewire-material.theme.default' => 'blue']); $this->blade('') ->assertSee('"default":"system"', false); }); it('starts a collapsible rail as the application says, expanded otherwise', function () { config(['livewire-material.rail' => ['default' => 'collapsed', 'storage_key' => 'sealshare-rail']]); $this->blade('') ->assertSee('"rail":{"default":"collapsed","key":"sealshare-rail"}', false) ->assertSee("root.setAttribute('data-rail', rail);", false); config(['livewire-material.rail.default' => 'sideways']); $this->blade('') ->assertSee('"rail":{"default":"expanded","key":"sealshare-rail"}', false); }); it('puts its attributes back on when wire:navigate swaps the page', function () { $this->blade('') ->assertSee("document.addEventListener('livewire:navigating'", false) ->assertSee("['data-theme', 'data-theme-choice', 'data-theme-key', 'data-rail', 'data-rail-key']", false) ->assertSee('event.detail.onSwap(', false); });