diff --git a/packages/board/__tests__/event._test.ts b/packages/board/__tests__/event._test.ts
deleted file mode 100644
index 51a1899..0000000
--- a/packages/board/__tests__/event._test.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-// // TODO
-
-// import Board from '../src';
-// import { getData } from './data';
-
-// const opts = {
-// width: 600,
-// height: 400,
-// contextWidth: 600,
-// contextHeight: 400,
-// devicePixelRatio: 4
-// }
-
-// test('@idraw/board: event.on("scale")', async () => {
-// document.body.innerHTML = `
-//
-// `;
-// const mount = document.querySelector('#mount') as HTMLDivElement;
-// const board = new Board(mount, opts);
-
-// const data = await execBoard(board, opts);
-// const salceNum = 2
-// expect(data).toBe(salceNum);
-// });
-
-
-// function execBoard(board: Board, opts: any): Promise {
-// return new Promise((resolve) => {
-// const data = getData();
-// const ctx = board.getContext();
-// board.clear();
-// ctx.clearRect(0, 0, opts.width, opts.height);
-// ctx.setFillStyle('#ffffff');
-// ctx.fillRect(0, 0, opts.width, opts.height);
-// data.elements.forEach(ele => {
-// ctx.setFillStyle(ele.desc.color);
-// ctx.fillRect(ele.x, ele.y, ele.w, ele.h);
-// });
-
-// // board.on('scale', (scaleNum) => {
-// // resolve(scaleNum);
-// // })
-// board.scale(2);
-// board.scrollX(-600);
-// board.scrollY(-400);
-// board.draw();
-// })
-// }
\ No newline at end of file
diff --git a/packages/board/__tests__/lib/__snapshots__/style.test.ts.snap b/packages/board/__tests__/lib/__snapshots__/style.test.ts.snap
new file mode 100644
index 0000000..0853e48
--- /dev/null
+++ b/packages/board/__tests__/lib/__snapshots__/style.test.ts.snap
@@ -0,0 +1,22 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`@idraw/board: src/lib/style getStyle 1`] = `
+Object {
+ "height": "20px",
+ "margin-top": "123px",
+ "overflow": "auto",
+ "width": "12px",
+}
+`;
+
+exports[`@idraw/board: src/lib/style setDomTransform 1`] = `
+
+`;
+
+exports[`@idraw/board: src/lib/style setStyle 1`] = `
+
+`;
diff --git a/packages/board/__tests__/lib/style.test.ts b/packages/board/__tests__/lib/style.test.ts
new file mode 100644
index 0000000..61a446d
--- /dev/null
+++ b/packages/board/__tests__/lib/style.test.ts
@@ -0,0 +1,81 @@
+import {
+ mergeCSS2StyleAttr, setStyle, getStyle, getDomTransform,
+ setDomTransform,
+} from './../../src/lib/style';
+
+
+describe('@idraw/board: src/lib/style', () => {
+ test('mergeCSS2StyleAttr', () => {
+ const str = mergeCSS2StyleAttr({
+ 'width': '12px',
+ 'height': '20px',
+ 'overflow': 'auto',
+ 'margin-top': '123px',
+ });
+ expect(str).toStrictEqual('width:12px; height:20px; overflow:auto; margin-top:123px;');
+ });
+
+ test('setStyle', () => {
+ const div = document.createElement('div');
+ setStyle(div, {
+ 'width': '12px',
+ 'height': '20px',
+ 'overflow': 'auto',
+ 'margin-top': '123px',
+ });
+ expect(div).toMatchSnapshot();
+ });
+
+ test('getStyle', () => {
+ const div = document.createElement('div');
+ setStyle(div, {
+ 'width': '12px',
+ 'height': '20px',
+ 'overflow': 'auto',
+ 'margin-top': '123px',
+ });
+ expect(getStyle(div)).toMatchSnapshot({
+ 'width': '12px',
+ 'height': '20px',
+ 'overflow': 'auto',
+ 'margin-top': '123px',
+ });
+ });
+
+ test('setDomTransform', () => {
+ // transform: matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() )
+ // matrix(1, 2, -1, 1, 80, 80)
+ const div = document.createElement('div');
+ setDomTransform(div, {
+ scaleX: 1,
+ skewY: 2,
+ skewX: -1,
+ scaleY: 1,
+ translateX: 80,
+ translateY: 90,
+ });
+ expect(div).toMatchSnapshot();
+ })
+
+ test('getDomTransform', () => {
+ // transform: matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() )
+ // matrix(1, 2, -1, 1, 80, 80)
+ const div = document.createElement('div');
+ setDomTransform(div, {
+ scaleX: 1,
+ skewY: 2,
+ skewX: -1,
+ scaleY: 1,
+ translateX: 80,
+ translateY: 90,
+ });
+ expect(getDomTransform(div)).toStrictEqual({
+ scaleX: 1,
+ skewY: 2,
+ skewX: -1,
+ scaleY: 1,
+ translateX: 80,
+ translateY: 90,
+ });
+ })
+})
\ No newline at end of file
diff --git a/packages/board/src/lib/style.ts b/packages/board/src/lib/style.ts
index ed6a900..e232250 100644
--- a/packages/board/src/lib/style.ts
+++ b/packages/board/src/lib/style.ts
@@ -13,7 +13,7 @@ export const mergeCSS2StyleAttr = function(
cssList.push(`${cssKey}:${cssVal}`);
}
}
- const styleAttr = cssList.join('; ');
+ const styleAttr = cssList.join('; ') + ';';
return styleAttr;
};