Kundenansicht neu P1: Hülle mit Start über /api/auth/me und Modul-Lader
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
710c57cf87
commit
7595844170
6 files changed
+423
-2
No files matched your search
@@ -84,3 +84,21 @@ test('messen: Gleiter, Overlay-Gegenbewegung, Schriftstufe, Rückfall und Sichtb
|
||||
r.setzeAktiv('zzz'); assert.equal(gleiter.style.width, '0px')
|
||||
} finally { fx.restore() }
|
||||
})
|
||||
|
||||
test('messen: die erste Platzierung springt, erst die folgenden Wechsel federn', () => {
|
||||
const fx = installFakeDom()
|
||||
try {
|
||||
const r = baueReiter({ eintraege: ['a', 'b'].map((key) => ({ key, label: key })), aktiv: 'a', art: 'balken', bei: () => {} })
|
||||
fx.document.body.append(r)
|
||||
const gleiter = fx.finde(r, '.kn-gleiter'); const overlay = fx.finde(r, '.kn-overlay'); const basis = fx.finde(r, '.kn-balken-basis'); const tabs = fx.alle(r, '[role=tab]')
|
||||
const verlauf = []
|
||||
gleiter.style = new Proxy({}, { set(ziel, name, wert) { if (name === 'transition') verlauf.push(wert); ziel[name] = wert; return true } }); overlay.style = {}; gleiter.offsetWidth = 0
|
||||
r.clientWidth = 200; r.scrollLeft = 0; basis.scrollWidth = 200
|
||||
r.getBoundingClientRect = () => ({ left: 0, width: 200 }); basis.getBoundingClientRect = () => ({ left: 0, width: 200 })
|
||||
tabs.forEach((t, i) => { t.getBoundingClientRect = () => ({ left: i * 100, width: 100 }) })
|
||||
fx.alle(overlay, '.kn-t').forEach((k) => { k.getBoundingClientRect = () => ({ left: 0, width: 100 }) })
|
||||
r.setzeAktiv('b'); assert.deepEqual(verlauf, ['none', '']) // erste Platzierung: ohne Übergang
|
||||
r.setzeAktiv('a'); assert.deepEqual(verlauf, ['none', '']) // danach mit Übergang (die Feder des CSS läuft)
|
||||
assert.equal(gleiter.style.transform, 'translateX(0px)')
|
||||
} finally { fx.restore() }
|
||||
})
|
||||
Reference in new issue
Block a user