Files
wechat_wc/tools/liquid-glass.test.mjs
T
broccoli 9bd7d0421f feat(ui): 底栏可拖动切换 + 透明度降至 0.24
- 滑块随手指实时移动,松手后跳转到目标 tab
- 抽出 tabBarGeometry 计算拖拽命中,配套单测
- 底栏浅色/深色底色 0.32 -> 0.24
2026-08-18 22:54:28 +08:00

38 lines
1.7 KiB
JavaScript

import test from 'node:test'
import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
import { fileURLToPath } from 'node:url'
import path from 'node:path'
const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
const read = (rel) => readFileSync(path.join(root, rel), 'utf8')
test('custom tab bar renders the liquid-glass overlay layers', () => {
const source = read('src/custom-tab-bar/index.tsx')
assert.match(source, /tab-bar-caustic/)
assert.match(source, /tab-bar-rim/)
})
test('custom tab bar uses bright glass material and the silver rim', () => {
const css = read('src/custom-tab-bar/index.scss')
assert.match(css, /background: rgba\(255, 255, 255, 0\.24\)/)
assert.match(css, /background: rgba\(25, 25, 25, 0\.24\)/)
assert.match(css, /backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/)
assert.match(css, /-webkit-backdrop-filter: blur\(32px\) saturate\(1\.7\) brightness\(1\.05\)/)
assert.match(css, /mask-composite: exclude/)
assert.match(css, /linear-gradient\(\s*135deg/)
})
test('global back buttons use the liquid-glass gradient and inner shading', () => {
const css = read('src/app.scss')
assert.match(css, /background: linear-gradient\(\s*135deg/)
assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/)
assert.match(css, /\.theme-dark \.back-btn/)
})
test('scroll top back button matches the global liquid-glass back style', () => {
const css = read('src/components/ScrollTopMask/index.scss')
assert.match(css, /background: linear-gradient\(\s*135deg/)
assert.match(css, /backdrop-filter: blur\(24px\) saturate\(1\.7\) brightness\(1\.05\)/)
})