Skip to content

Commit 76df798

Browse files
authored
Merge pull request #280 from jyasskin/now-to-today
Express "0 precision-units away" appropriately for the precision.
2 parents a0483ce + e0d2780 commit 76df798

File tree

2 files changed

+33
-9
lines changed

2 files changed

+33
-9
lines changed

src/relative-time-element.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ export class RelativeTimeElement extends HTMLElement implements Intl.DateTimeFor
180180
if (tense === 'past' && duration.sign !== -1) duration = emptyDuration
181181
const [int, unit] = getRelativeTimeUnit(duration)
182182
if (unit === 'second' && int < 10) {
183-
return relativeFormat.format(0, 'second')
183+
return relativeFormat.format(0, this.precision === 'millisecond' ? 'second' : this.precision)
184184
}
185185
return relativeFormat.format(int, unit)
186186
}

test/relative-time.js

+32-8
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ suite('relative-time', function () {
840840
datetime: '2022-10-24T14:46:00.000Z',
841841
format: 'relative',
842842
precision: 'hour',
843-
expected: 'now',
843+
expected: 'this hour',
844844
},
845845
{
846846
datetime: '2022-10-24T14:46:00.000Z',
@@ -901,7 +901,7 @@ suite('relative-time', function () {
901901
datetime: '2022-10-24T14:46:08.000Z',
902902
format: 'relative',
903903
precision: 'hour',
904-
expected: 'now',
904+
expected: 'this hour',
905905
},
906906
{
907907
datetime: '2022-10-24T14:46:08.000Z',
@@ -973,8 +973,14 @@ suite('relative-time', function () {
973973
{
974974
datetime: '2022-10-24T14:46:50.000Z',
975975
format: 'relative',
976-
precision: 'hour',
977-
expected: 'now',
976+
precision: 'minute',
977+
expected: 'this minute',
978+
},
979+
{
980+
datetime: '2022-10-24T14:46:50.000Z',
981+
format: 'relative',
982+
precision: 'day',
983+
expected: 'today',
978984
},
979985
{
980986
datetime: '2022-10-24T14:46:50.000Z',
@@ -1047,7 +1053,7 @@ suite('relative-time', function () {
10471053
datetime: '2022-10-24T14:47:30.000Z',
10481054
format: 'relative',
10491055
precision: 'hour',
1050-
expected: 'now',
1056+
expected: 'this hour',
10511057
},
10521058
{
10531059
datetime: '2022-10-24T14:47:30.000Z',
@@ -1122,6 +1128,12 @@ suite('relative-time', function () {
11221128
precision: 'hour',
11231129
expected: 'in 3 weeks',
11241130
},
1131+
{
1132+
datetime: '2022-11-13T15:46:00.000Z',
1133+
format: 'relative',
1134+
precision: 'month',
1135+
expected: 'this month',
1136+
},
11251137
{
11261138
datetime: '2022-11-13T15:46:00.000Z',
11271139
format: 'relative',
@@ -1339,7 +1351,7 @@ suite('relative-time', function () {
13391351
datetime: '2022-10-24T14:45:52.000Z',
13401352
format: 'relative',
13411353
precision: 'hour',
1342-
expected: 'now',
1354+
expected: 'this hour',
13431355
},
13441356
{
13451357
datetime: '2022-10-24T14:45:52.000Z',
@@ -1412,7 +1424,13 @@ suite('relative-time', function () {
14121424
datetime: '2022-10-24T14:45:10.000Z',
14131425
format: 'relative',
14141426
precision: 'hour',
1415-
expected: 'now',
1427+
expected: 'this hour',
1428+
},
1429+
{
1430+
datetime: '2022-10-24T14:45:10.000Z',
1431+
format: 'relative',
1432+
precision: 'day',
1433+
expected: 'today',
14161434
},
14171435
{
14181436
datetime: '2022-10-24T14:45:10.000Z',
@@ -1485,7 +1503,7 @@ suite('relative-time', function () {
14851503
datetime: '2022-10-24T14:44:30.000Z',
14861504
format: 'relative',
14871505
precision: 'hour',
1488-
expected: 'now',
1506+
expected: 'this hour',
14891507
},
14901508
{
14911509
datetime: '2022-10-24T14:44:30.000Z',
@@ -1560,6 +1578,12 @@ suite('relative-time', function () {
15601578
precision: 'hour',
15611579
expected: '3 weeks ago',
15621580
},
1581+
{
1582+
datetime: '2022-10-04T14:46:00.000Z',
1583+
format: 'relative',
1584+
precision: 'month',
1585+
expected: 'this month',
1586+
},
15631587
{
15641588
datetime: '2022-10-04T14:46:00.000Z',
15651589
format: 'relative',

0 commit comments

Comments
 (0)