2021-04-30 22:24:27 +08:00
|
|
|
import { assert } from 'chai';
|
2021-05-05 22:19:24 +08:00
|
|
|
import { Konva } from './test-utils';
|
2021-04-30 22:24:27 +08:00
|
|
|
|
|
|
|
describe('Util', function () {
|
|
|
|
it('test _prepareToStringify', function () {
|
|
|
|
var o: any = {
|
2017-02-24 22:15:33 +08:00
|
|
|
a: 1,
|
2020-05-08 22:59:35 +08:00
|
|
|
b: 'string1',
|
2017-02-24 22:15:33 +08:00
|
|
|
};
|
|
|
|
o.c = {
|
|
|
|
d: 'string2',
|
|
|
|
e: o,
|
2021-04-30 22:24:27 +08:00
|
|
|
f: global.document ? global.document.createElement('p') : { nodeType: 1 },
|
2017-02-24 22:15:33 +08:00
|
|
|
};
|
|
|
|
o.g = o;
|
2016-07-09 21:54:28 +08:00
|
|
|
|
2017-02-24 22:15:33 +08:00
|
|
|
assert.deepEqual(Konva.Util._prepareToStringify(o), {
|
|
|
|
a: 1,
|
|
|
|
b: 'string1',
|
|
|
|
c: {
|
2020-05-08 22:59:35 +08:00
|
|
|
d: 'string2',
|
|
|
|
},
|
2016-07-09 21:54:28 +08:00
|
|
|
});
|
2017-02-24 22:15:33 +08:00
|
|
|
});
|
2019-07-29 02:29:01 +08:00
|
|
|
|
2021-04-30 22:24:27 +08:00
|
|
|
it('colorToRGBA() - from HSL to RGBA conversion', function () {
|
2019-07-29 02:29:01 +08:00
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('hsl(0, 0%, 0%)'), {
|
|
|
|
r: 0,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
2020-05-08 22:59:35 +08:00
|
|
|
a: 1,
|
2019-07-29 02:29:01 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('hsl(96, 48%, 59%)'), {
|
|
|
|
r: 140,
|
|
|
|
g: 201,
|
|
|
|
b: 100,
|
2020-05-08 22:59:35 +08:00
|
|
|
a: 1,
|
2019-07-29 02:29:01 +08:00
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('hsl(200, 100%, 70%)'), {
|
|
|
|
r: 102,
|
|
|
|
g: 204,
|
|
|
|
b: 255,
|
2020-05-08 22:59:35 +08:00
|
|
|
a: 1,
|
2019-07-29 02:29:01 +08:00
|
|
|
});
|
|
|
|
});
|
2020-01-07 21:31:28 +08:00
|
|
|
|
2021-12-15 21:08:15 +08:00
|
|
|
it('colorToRGBA() - from color string with percentage to RGBA conversion!', function () {
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('rgba(50, 100, 150, 0.5)'), {
|
|
|
|
r: 50,
|
|
|
|
g: 100,
|
|
|
|
b: 150,
|
|
|
|
a: 0.5,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('rgba(50, 100, 150, 50%)'), {
|
|
|
|
r: 50,
|
|
|
|
g: 100,
|
|
|
|
b: 150,
|
|
|
|
a: 0.5,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('rgba(25%, 50%, 100%, 0.5)'), {
|
|
|
|
r: 63.75,
|
|
|
|
g: 127.5,
|
|
|
|
b: 255,
|
|
|
|
a: 0.5,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('rgba(0%, 50%, 100%, 100%)'), {
|
|
|
|
r: 0,
|
|
|
|
g: 127.5,
|
|
|
|
b: 255,
|
|
|
|
a: 1,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2022-12-04 21:16:27 +08:00
|
|
|
it('colorToRGBA() - from hex color string with percentage to RGBA conversion!', function () {
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('#F00'), {
|
|
|
|
r: 255,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
|
|
|
a: 1,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('#F00F'), {
|
|
|
|
r: 255,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
|
|
|
a: 1,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('#F00C'), {
|
|
|
|
r: 255,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
|
|
|
a: 0.8,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('#FF0000FF'), {
|
|
|
|
r: 255,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
|
|
|
a: 1,
|
|
|
|
});
|
|
|
|
|
|
|
|
assert.deepEqual(Konva.Util.colorToRGBA('#FF0000CC'), {
|
|
|
|
r: 255,
|
|
|
|
g: 0,
|
|
|
|
b: 0,
|
|
|
|
a: 0.8,
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2021-04-30 22:24:27 +08:00
|
|
|
it('make sure Transform is exported', () => {
|
2020-01-07 21:31:28 +08:00
|
|
|
assert.equal(!!Konva.Transform, true);
|
2020-05-08 22:59:35 +08:00
|
|
|
});
|
2013-08-29 14:19:29 +08:00
|
|
|
});
|