44 lines
2.2 KiB
TypeScript
44 lines
2.2 KiB
TypeScript
/*
|
|
* Copyright (C) Contributors to the Suwayomi project
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
import assert from 'node:assert/strict';
|
|
import { describe, it } from 'node:test';
|
|
import { createMaterialYouScheme } from '@/features/theme/services/MaterialYouPalette.ts';
|
|
import {
|
|
createMaterialYouThemeOptions,
|
|
MATERIAL_YOU_MOTION,
|
|
} from '@/features/theme/services/MaterialYouThemeOptions.ts';
|
|
|
|
describe('createMaterialYouThemeOptions', () => {
|
|
const options = createMaterialYouThemeOptions(createMaterialYouScheme('#5B74EF', 'dark')) as any;
|
|
|
|
it('uses Material 3 geometry and readable button labels', () => {
|
|
assert.equal(options.shape.borderRadius, 20);
|
|
assert.equal(options.components.MuiCard.styleOverrides.root.borderRadius, 20);
|
|
assert.equal(options.components.MuiDialog.styleOverrides.paper.borderRadius, 28);
|
|
assert.equal(options.components.MuiButton.styleOverrides.root.borderRadius, 999);
|
|
assert.equal(options.components.MuiButton.styleOverrides.root.textTransform, 'none');
|
|
assert.equal(options.components.MuiChip.styleOverrides.root.borderRadius, 999);
|
|
assert.equal(options.components.MuiListItemButton.styleOverrides.root.borderRadius, 16);
|
|
});
|
|
|
|
it('uses tonal surfaces instead of elevated app chrome', () => {
|
|
assert.equal(options.components.MuiAppBar.defaultProps.elevation, 0);
|
|
assert.equal(options.components.MuiDrawer.styleOverrides.paper.boxShadow, 'none');
|
|
assert.equal(options.palette.background.default, '#11131A');
|
|
assert.equal(options.palette.background.paper, '#191B23');
|
|
});
|
|
|
|
it('provides focus and reduced-motion tokens', () => {
|
|
assert.equal(options.focusRing, '0 0 0 3px rgba(183, 194, 255, 0.72)');
|
|
assert.equal(MATERIAL_YOU_MOTION.standard, '180ms cubic-bezier(0.2, 0, 0, 1)');
|
|
assert.match(options.components.MuiCssBaseline.styleOverrides, /prefers-reduced-motion/);
|
|
assert.match(options.components.MuiCssBaseline.styleOverrides, /focus-visible/);
|
|
});
|
|
});
|