feat: add play apps and layout tools
This commit is contained in:
86
tests/layoutDraw/layoutDrawShapeUtils.test.ts
Normal file
86
tests/layoutDraw/layoutDrawShapeUtils.test.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import test from 'node:test';
|
||||
import { duplicateShapeWithLabel } from '../../src/features/layout/draw/layoutDrawShapeUtils.ts';
|
||||
|
||||
test('duplicates a line with original label when no override is provided', () => {
|
||||
const duplicated = duplicateShapeWithLabel(
|
||||
{
|
||||
id: 'line-1',
|
||||
type: 'line',
|
||||
x1: 10,
|
||||
y1: 20,
|
||||
x2: 10,
|
||||
y2: 160,
|
||||
orientation: 'vertical',
|
||||
label: '기존',
|
||||
},
|
||||
'line-2',
|
||||
);
|
||||
|
||||
assert.deepEqual(duplicated, {
|
||||
id: 'line-2',
|
||||
type: 'line',
|
||||
x1: 34,
|
||||
y1: 44,
|
||||
x2: 34,
|
||||
y2: 184,
|
||||
orientation: 'vertical',
|
||||
label: '기존',
|
||||
});
|
||||
});
|
||||
|
||||
test('duplicates a line with label override and offset', () => {
|
||||
const duplicated = duplicateShapeWithLabel(
|
||||
{
|
||||
id: 'line-1',
|
||||
type: 'line',
|
||||
x1: 10,
|
||||
y1: 20,
|
||||
x2: 10,
|
||||
y2: 160,
|
||||
orientation: 'vertical',
|
||||
label: '기존',
|
||||
},
|
||||
'line-2',
|
||||
'복사본',
|
||||
);
|
||||
|
||||
assert.deepEqual(duplicated, {
|
||||
id: 'line-2',
|
||||
type: 'line',
|
||||
x1: 34,
|
||||
y1: 44,
|
||||
x2: 34,
|
||||
y2: 184,
|
||||
orientation: 'vertical',
|
||||
label: '복사본',
|
||||
});
|
||||
});
|
||||
|
||||
test('duplicates a rect with label override and offset', () => {
|
||||
const duplicated = duplicateShapeWithLabel(
|
||||
{
|
||||
id: 'rect-1',
|
||||
type: 'rect',
|
||||
x: 40,
|
||||
y: 50,
|
||||
width: 120,
|
||||
height: 80,
|
||||
label: '사각형',
|
||||
fillColor: '#bfdbfe',
|
||||
},
|
||||
'rect-2',
|
||||
'새 라벨',
|
||||
);
|
||||
|
||||
assert.deepEqual(duplicated, {
|
||||
id: 'rect-2',
|
||||
type: 'rect',
|
||||
x: 64,
|
||||
y: 74,
|
||||
width: 120,
|
||||
height: 80,
|
||||
label: '새 라벨',
|
||||
fillColor: '#bfdbfe',
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user