Skip to content

Commit 8cf56ab

Browse files
authored
feat(preset-mini): update css units (#2060)
1 parent cc6875c commit 8cf56ab

File tree

2 files changed

+62
-3
lines changed

2 files changed

+62
-3
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export const numberWithUnitRE = /^(-?\d*(?:\.\d+)?)(px|pt|pc|%|r?em|ex|ch|ic|(?:[sld]?v|cq)(?:[whib]|min|max)|in|cm|mm|rpx)?$/i
1+
export const numberWithUnitRE = /^(-?\d*(?:\.\d+)?)(px|pt|pc|%|r?(?:em|ex|lh|cap|ch|ic)|(?:[sld]?v|cq)(?:[whib]|min|max)|in|cm|mm|rpx)?$/i
22
export const numberRE = /^(-?\d*(?:\.\d+)?)$/i
33
export const unitOnlyRE = /^(px)$/i

test/handler.test.ts

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ describe('value handler', () => {
4646

4747
test('handler resolves numbers using numberWithUnit', () => {
4848
// normalizations
49-
expect(h.numberWithUnit('10')).eql(undefined)
5049
expect(h.numberWithUnit('10unknown')).eql(undefined)
5150
expect(h.numberWithUnit('10 unknown')).eql(undefined)
5251
expect(h.numberWithUnit('10 px')).eql(undefined)
@@ -58,13 +57,21 @@ describe('value handler', () => {
5857
expect(h.numberWithUnit('00.30px')).eql('0.3px')
5958
expect(h.numberWithUnit('01.40px')).eql('1.4px')
6059

60+
// no default value
61+
expect(h.numberWithUnit('10')).eql(undefined)
62+
6163
// units
6264
const units = [
6365
'pt',
6466
'pc',
6567
'%',
68+
6669
'rem', 'em',
67-
'ex', 'ch', 'ic',
70+
'rex', 'ex',
71+
'rcap', 'cap',
72+
'rch', 'ch',
73+
'ric', 'ic',
74+
'rlh', 'lh',
6875

6976
'vw', 'vh', 'vi', 'vb', 'vmin', 'vmax',
7077
'svw', 'svh', 'svi', 'svb', 'svmin', 'svmax',
@@ -78,4 +85,56 @@ describe('value handler', () => {
7885

7986
expect(units.map(y => h.numberWithUnit(`12.34${y}`))).eql(units.map(y => `12.34${y}`))
8087
})
88+
89+
test('handler resolves numbers using time', () => {
90+
// normalizations
91+
expect(h.time('10unknown')).eql(undefined)
92+
expect(h.time('10 unknown')).eql(undefined)
93+
expect(h.time('10 ms')).eql(undefined)
94+
expect(h.time('10ms')).eql('10ms')
95+
expect(h.time('10.0ms')).eql('10ms')
96+
expect(h.time('0ms')).eql('0ms')
97+
expect(h.time('.1ms')).eql('0.1ms')
98+
expect(h.time('.20ms')).eql('0.2ms')
99+
expect(h.time('00.30ms')).eql('0.3ms')
100+
expect(h.time('01.40ms')).eql('1.4ms')
101+
102+
// default value
103+
expect(h.time('10')).eql('10ms')
104+
105+
// units
106+
const units = [
107+
'ms',
108+
's',
109+
]
110+
111+
expect(units.map(y => h.time(`12.34${y}`))).eql(units.map(y => `12.34${y}`))
112+
})
113+
114+
test('handler resolves numbers using degree', () => {
115+
// normalizations
116+
expect(h.degree('10unknown')).eql(undefined)
117+
expect(h.degree('10 unknown')).eql(undefined)
118+
expect(h.degree('10 deg')).eql(undefined)
119+
expect(h.degree('10deg')).eql('10deg')
120+
expect(h.degree('10.0deg')).eql('10deg')
121+
expect(h.degree('0deg')).eql('0deg')
122+
expect(h.degree('.1deg')).eql('0.1deg')
123+
expect(h.degree('.20deg')).eql('0.2deg')
124+
expect(h.degree('00.30deg')).eql('0.3deg')
125+
expect(h.degree('01.40deg')).eql('1.4deg')
126+
127+
// default value
128+
expect(h.degree('10')).eql('10deg')
129+
130+
// units
131+
const units = [
132+
'deg',
133+
'rad',
134+
'grad',
135+
'turn',
136+
]
137+
138+
expect(units.map(y => h.degree(`12.34${y}`))).eql(units.map(y => `12.34${y}`))
139+
})
81140
})

0 commit comments

Comments
 (0)