Skip to content

Commit d06be36

Browse files
Caldisclaude
andcommitted
test(core): cover all non-swipe flipKind values in getSideImageOffset
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent dfc62ce commit d06be36

1 file changed

Lines changed: 9 additions & 15 deletions

File tree

packages/core/src/components/Image/__tests__/Image.utils.test.ts

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -393,21 +393,15 @@ describe('getSwipeOffset (swipe 模式 viewport 依赖的 offset)', () => {
393393
describe('getSideImageOffset (side image 横向 offset)', () => {
394394
const viewport = { left: 0, top: 0, width: 1000, height: 800 }
395395

396-
it("非 swipe 模式: 返回 baseOffset 不变 (fade/crossFade/zoom)", () => {
397-
expect(getSideImageOffset({
398-
flipKind: 'crossFade',
399-
baseOffset: 30,
400-
ownScale: 1,
401-
dims: { w: 500, h: 500 },
402-
viewport,
403-
})).toBe(30)
404-
expect(getSideImageOffset({
405-
flipKind: 'fade',
406-
baseOffset: 0,
407-
ownScale: 1,
408-
dims: { w: 500, h: 500 },
409-
viewport,
410-
})).toBe(0)
396+
it("非 swipe 模式: 返回 baseOffset 不变 (fade/crossFade/zoom/none/false/undefined)", () => {
397+
// 类型签名允许的所有非 swipe 值都应早返回 baseOffset, 文档化"任意 non-swipe 输入安全"契约
398+
const dims = { w: 500, h: 500 }
399+
expect(getSideImageOffset({ flipKind: 'crossFade', baseOffset: 30, ownScale: 1, dims, viewport })).toBe(30)
400+
expect(getSideImageOffset({ flipKind: 'fade', baseOffset: 0, ownScale: 1, dims, viewport })).toBe(0)
401+
expect(getSideImageOffset({ flipKind: 'zoom', baseOffset: 0, ownScale: 1, dims, viewport })).toBe(0)
402+
expect(getSideImageOffset({ flipKind: 'none', baseOffset: 0, ownScale: 1, dims, viewport })).toBe(0)
403+
expect(getSideImageOffset({ flipKind: false, baseOffset: 0, ownScale: 1, dims, viewport })).toBe(0)
404+
expect(getSideImageOffset({ flipKind: undefined, baseOffset: 0, ownScale: 1, dims, viewport })).toBe(0)
411405
})
412406

413407
it('swipe 模式: 窄 side (物理宽 < viewport) 仍用 baseOffset', () => {

0 commit comments

Comments
 (0)