Skip to content

Commit 0e60b3c

Browse files
committed
test: add tests for conversion to canonical length/angle/time unit
1 parent ceb2a12 commit 0e60b3c

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

lib/parsers.test.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ describe('parseLength', () => {
4848
expect(parsers.parseLength('1Px')).toBe('1px');
4949
expect(parsers.parseLength('1Q')).toBe('1q');
5050
});
51+
it('resolves length to px', () => {
52+
expect(parsers.parseLength('1cm', true)).toBe('37.7953px');
53+
expect(parsers.parseLength('1mm', true)).toBe('3.77953px');
54+
expect(parsers.parseLength('1Q', true)).toBe('0.944882px');
55+
expect(parsers.parseLength('1in', true)).toBe('96px');
56+
expect(parsers.parseLength('1pc', true)).toBe('16px');
57+
expect(parsers.parseLength('1pt', true)).toBe('1.33333px');
58+
});
5159
it('works with calc', () => {
5260
expect(parsers.parseLength('calc(1px + 1px)')).toBe('calc(2px)');
5361
});
@@ -91,6 +99,14 @@ describe('parseAngle', () => {
9199
it('returns angle with lowercased unit', () => {
92100
expect(parsers.parseAngle('1DEg')).toBe('1deg');
93101
});
102+
it('resolves angle to deg', () => {
103+
expect(parsers.parseAngle('200grad', true)).toBe('180deg');
104+
expect(parsers.parseAngle('200grad')).toBe('200grad');
105+
expect(parsers.parseAngle(`${Math.PI.toString()}rad`, true)).toBe('180deg');
106+
expect(parsers.parseAngle(`${Math.PI.toString()}rad`)).toBe('3.14159rad');
107+
expect(parsers.parseAngle('0.5turn', true)).toBe('180deg');
108+
expect(parsers.parseAngle('0.5turn')).toBe('0.5turn');
109+
});
94110
it('works with calc', () => {
95111
expect(parsers.parseAngle('calc(1deg + 1deg)')).toBe('calc(2deg)');
96112
});
@@ -111,6 +127,9 @@ describe('parseTime', () => {
111127
it('resolves time with lowercased unit', () => {
112128
expect(parsers.parseTime('1Ms')).toBe('1ms');
113129
});
130+
it('resolves time to ms', () => {
131+
expect(parsers.parseTime('1s', true)).toBe('1000ms');
132+
});
114133
it('works with calc', () => {
115134
expect(parsers.parseTime('calc(1s + 1s)')).toBe('calc(2s)');
116135
});

0 commit comments

Comments
 (0)