Skip to content

Commit bf5d966

Browse files
committed
chore: fix month microformat
1 parent 33cde64 commit bf5d966

File tree

2 files changed

+22
-7
lines changed

2 files changed

+22
-7
lines changed

src/duration-format-ponyfill.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,11 @@ export default class DurationFormat {
110110
: unitStyle === 'numeric'
111111
? {}
112112
: {style: 'unit', unit: nfUnit, unitDisplay: unitStyle}
113-
list.push(new Intl.NumberFormat(locale, nfOpts).format(value))
113+
list.push(
114+
nfUnit === 'month' && unitStyle === 'narrow'
115+
? `${value}mo`
116+
: new Intl.NumberFormat(locale, nfOpts).format(value),
117+
)
114118
}
115119
return new ListFormat(locale, {
116120
type: 'unit',

test/relative-time.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -532,6 +532,17 @@ suite('relative-time', function () {
532532
assert.equal(time.shadowRoot.textContent, '10y')
533533
})
534534

535+
test('micro formats months', async () => {
536+
const datetime = new Date()
537+
datetime.setMonth(datetime.getMonth() - 2)
538+
const time = document.createElement('relative-time')
539+
time.setAttribute('tense', 'past')
540+
time.setAttribute('datetime', datetime)
541+
time.setAttribute('format', 'micro')
542+
await Promise.resolve()
543+
assert.equal(time.shadowRoot.textContent, '2mo')
544+
})
545+
535546
test('micro formats future times', async () => {
536547
const now = new Date(Date.now() + 3 * 1000).toISOString()
537548
const time = document.createElement('relative-time')
@@ -1941,7 +1952,7 @@ suite('relative-time', function () {
19411952
datetime: '2022-09-24T14:46:00.000Z',
19421953
tense: 'future',
19431954
format: 'micro',
1944-
expected: '1m',
1955+
expected: '1mo',
19451956
},
19461957
{
19471958
datetime: '2022-10-23T14:46:00.000Z',
@@ -1991,7 +2002,7 @@ suite('relative-time', function () {
19912002
datetime: '2022-11-24T14:46:00.000Z',
19922003
tense: 'future',
19932004
format: 'micro',
1994-
expected: '1m',
2005+
expected: '1mo',
19952006
},
19962007
{
19972008
datetime: '2023-10-23T14:46:00.000Z',
@@ -2023,7 +2034,7 @@ suite('relative-time', function () {
20232034
datetime: '2022-11-24T14:46:00.000Z',
20242035
tense: 'past',
20252036
format: 'micro',
2026-
expected: '1m',
2037+
expected: '1mo',
20272038
},
20282039
{
20292040
datetime: '2022-10-25T14:46:00.000Z',
@@ -2073,7 +2084,7 @@ suite('relative-time', function () {
20732084
datetime: '2022-09-23T14:46:00.000Z',
20742085
tense: 'past',
20752086
format: 'micro',
2076-
expected: '1m',
2087+
expected: '1mo',
20772088
},
20782089
{
20792090
datetime: '2021-10-25T14:46:00.000Z',
@@ -2178,13 +2189,13 @@ suite('relative-time', function () {
21782189
{
21792190
datetime: '2021-10-30T14:46:00.000Z',
21802191
format: 'elapsed',
2181-
expected: '11m 29d',
2192+
expected: '11mo 29d',
21822193
},
21832194
{
21842195
datetime: '2021-10-30T14:46:00.000Z',
21852196
format: 'elapsed',
21862197
precision: 'month',
2187-
expected: '11m',
2198+
expected: '11mo',
21882199
},
21892200
{
21902201
datetime: '2021-10-29T14:46:00.000Z',

0 commit comments

Comments
 (0)