mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-08-29 01:08:59 +00:00
14fcfe384d
Store independent Home Screen and Lock Screen wallpaper selections, preserve legacy preferences, and route gallery or camera picks to the selected destination. Add the Settings segmented selector and contract coverage.
49 lines
2.0 KiB
TypeScript
49 lines
2.0 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
const styles = readFileSync(
|
|
new URL('../assets/main.css', import.meta.url),
|
|
'utf8',
|
|
)
|
|
const source = readFileSync(
|
|
new URL('./PhoneLockScreen.vue', import.meta.url),
|
|
'utf8',
|
|
)
|
|
|
|
describe('PhoneLockScreen notification theme contract', () => {
|
|
it('uses the dedicated Lock Screen wallpaper preference', () => {
|
|
expect(source).toContain('settings.lockWallpaperImageUrl')
|
|
expect(source).toContain('settings.lockWallpaper')
|
|
expect(source).not.toContain('settings.wallpaperImageUrl')
|
|
})
|
|
|
|
it('uses explicit light and dark notification material tokens', () => {
|
|
expect(styles).toMatch(
|
|
/\.lock-screen\s*\{[^}]*--lock-notification-background:\s*rgb\(38 36 40 \/ 76%\)[^}]*--lock-notification-color:\s*#fff/s,
|
|
)
|
|
expect(styles).toMatch(
|
|
/\.phone-app--light \.lock-screen\s*\{[^}]*--lock-notification-background:\s*rgb\(247 247 248 \/ 82%\)[^}]*--lock-notification-color:\s*#111[^}]*--lock-notification-muted:\s*rgb\(0 0 0 \/ 55%\)/s,
|
|
)
|
|
})
|
|
|
|
it('applies the adaptive tokens to cards, metadata, focus and clear all', () => {
|
|
expect(styles).toMatch(
|
|
/\.lock-screen__notification\s*\{[^}]*color:\s*var\(--lock-notification-color\)[^}]*background-color:\s*var\(--lock-notification-background\)[^}]*text-shadow:\s*var\(--lock-notification-text-shadow\)/s,
|
|
)
|
|
expect(styles).toMatch(
|
|
/\.lock-screen__notifications-clear\s*\{[^}]*color:\s*var\(--lock-notification-color\)[^}]*background:\s*var\(--lock-notification-clear-background\)/s,
|
|
)
|
|
expect(styles).toContain('color: var(--lock-notification-muted);')
|
|
expect(styles).toContain(
|
|
'outline: 2px solid var(--lock-notification-focus);',
|
|
)
|
|
})
|
|
|
|
it('uses the solid mode material for the performance clear action', () => {
|
|
expect(styles).toMatch(
|
|
/\.phone-app--performance \.lock-screen\s*\{[^}]*--lock-notification-clear-background:\s*var\(--phone-performance-glass\)/s,
|
|
)
|
|
})
|
|
})
|