@prairielearn/formatter 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/interval.test.js +3 -3
- package/dist/interval.test.js.map +1 -1
- package/package.json +5 -5
- package/src/interval.test.ts +3 -3
package/CHANGELOG.md
CHANGED
package/dist/interval.test.js
CHANGED
|
@@ -56,13 +56,13 @@ describe('interval formatting', () => {
|
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
58
|
describe('formatIntervalHM()', () => {
|
|
59
|
-
it('should correctly handle
|
|
59
|
+
it('should correctly handle positive minutes', () => {
|
|
60
60
|
assert.equal(formatIntervalHM(3.2 * 60 * 1000), '00:03');
|
|
61
61
|
});
|
|
62
|
-
it('should correctly handle
|
|
62
|
+
it('should correctly handle positive hours', () => {
|
|
63
63
|
assert.equal(formatIntervalHM((4 * 60 + 17.8) * 60 * 1000), '04:17');
|
|
64
64
|
});
|
|
65
|
-
it('should correctly handle large
|
|
65
|
+
it('should correctly handle large positive hours', () => {
|
|
66
66
|
assert.equal(formatIntervalHM((143 * 60 + 17.8) * 60 * 1000), '143:17');
|
|
67
67
|
});
|
|
68
68
|
it('should correctly handle an explicit sign', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interval.test.js","sourceRoot":"","sources":["../src/interval.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interval.test.js","sourceRoot":"","sources":["../src/interval.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert, describe, it } from 'vitest';\n\nimport {\n formatInterval,\n formatIntervalHM,\n formatIntervalMinutes,\n formatIntervalRelative,\n makeInterval,\n} from './interval.js';\n\ndescribe('interval formatting', () => {\n describe('formatInterval()', () => {\n it('should handle seconds', () => {\n assert.equal(formatInterval(7000), '7 s');\n });\n it('should handle fractional seconds', () => {\n assert.equal(formatInterval(7321), '7 s');\n });\n it('should handle minutes', () => {\n assert.equal(formatInterval(2 * 60 * 1000), '2 min');\n });\n it('should handle hours', () => {\n assert.equal(formatInterval(3 * 60 * 60 * 1000), '3 h');\n });\n it('should handle hours', () => {\n assert.equal(formatInterval(4 * 24 * 60 * 60 * 1000), '4 d');\n });\n it('should handle complex intervals', () => {\n assert.equal(formatInterval((((4 * 24 + 3) * 60 + 2) * 60 + 7) * 1000), '4 d 3 h 2 min 7 s');\n });\n it('should handle zero', () => {\n assert.equal(formatInterval(0), '0 s');\n });\n it('should handle negative intervals', () => {\n assert.equal(\n formatInterval(-(((4 * 24 + 3) * 60 + 2) * 60 + 7) * 1000),\n '-4 d -3 h -2 min -7 s',\n );\n });\n });\n describe('formatIntervalRelative()', () => {\n it('should handle positive intervals', () => {\n assert.equal(\n formatIntervalRelative(3 * 1000, 'Until', 'the start time'),\n 'Until 3 s after the start time',\n );\n });\n it('should handle negative intervals', () => {\n assert.equal(\n formatIntervalRelative(-7 * 60 * 1000, 'From', 'the start time'),\n 'From 7 min before the start time',\n );\n });\n it('should handle zero intervals', () => {\n assert.equal(formatIntervalRelative(0, 'From', 'the start time'), 'From the start time');\n });\n });\n\n describe('formatIntervalMinutes()', () => {\n it('should correctly round up', () => {\n assert.equal(formatIntervalMinutes(3.2 * 60 * 1000), '4 minutes');\n });\n it('should correctly handle 1 minute', () => {\n assert.equal(formatIntervalMinutes(17 * 1000), '1 minute');\n });\n it('should correctly handle zero', () => {\n assert.equal(formatIntervalMinutes(0), '0 minutes');\n });\n it('should correctly handle -1 minute', () => {\n assert.equal(formatIntervalMinutes(-17 * 1000), '-1 minute');\n });\n it('should correctly handle negative intervals', () => {\n assert.equal(formatIntervalMinutes(-3.2 * 60 * 1000), '-4 minutes');\n });\n });\n\n describe('formatIntervalHM()', () => {\n it('should correctly handle positive minutes', () => {\n assert.equal(formatIntervalHM(3.2 * 60 * 1000), '00:03');\n });\n it('should correctly handle positive hours', () => {\n assert.equal(formatIntervalHM((4 * 60 + 17.8) * 60 * 1000), '04:17');\n });\n it('should correctly handle large positive hours', () => {\n assert.equal(formatIntervalHM((143 * 60 + 17.8) * 60 * 1000), '143:17');\n });\n it('should correctly handle an explicit sign', () => {\n assert.equal(formatIntervalHM((4 * 60 + 17.8) * 60 * 1000, { signed: true }), '+04:17');\n });\n it('should correctly handle negative minutes', () => {\n assert.equal(formatIntervalHM(-3.2 * 60 * 1000), '-00:03');\n });\n it('should correctly handle negative hours', () => {\n assert.equal(formatIntervalHM(-(4 * 60 + 17.8) * 60 * 1000), '-04:17');\n });\n });\n\n describe('makeInterval()', () => {\n it('should handle seconds', () => {\n assert.equal(makeInterval({ seconds: 7 }), 7 * 1000);\n });\n it('should handle minutes', () => {\n assert.equal(makeInterval({ minutes: 2 }), 2 * 60 * 1000);\n });\n it('should handle hours', () => {\n assert.equal(makeInterval({ hours: 3 }), 3 * 60 * 60 * 1000);\n });\n it('should handle days', () => {\n assert.equal(makeInterval({ days: 4 }), 4 * 24 * 60 * 60 * 1000);\n });\n it('should default to zero', () => {\n assert.equal(makeInterval({}), 0);\n });\n });\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prairielearn/formatter",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@prairielearn/tsconfig": "^0.0.0",
|
|
22
|
-
"@types/node": "^22.19.
|
|
23
|
-
"@vitest/coverage-v8": "^4.0.
|
|
24
|
-
"tsx": "^4.
|
|
22
|
+
"@types/node": "^22.19.3",
|
|
23
|
+
"@vitest/coverage-v8": "^4.0.16",
|
|
24
|
+
"tsx": "^4.21.0",
|
|
25
25
|
"typescript": "^5.9.3",
|
|
26
|
-
"vitest": "^4.0.
|
|
26
|
+
"vitest": "^4.0.16"
|
|
27
27
|
}
|
|
28
28
|
}
|
package/src/interval.test.ts
CHANGED
|
@@ -75,13 +75,13 @@ describe('interval formatting', () => {
|
|
|
75
75
|
});
|
|
76
76
|
|
|
77
77
|
describe('formatIntervalHM()', () => {
|
|
78
|
-
it('should correctly handle
|
|
78
|
+
it('should correctly handle positive minutes', () => {
|
|
79
79
|
assert.equal(formatIntervalHM(3.2 * 60 * 1000), '00:03');
|
|
80
80
|
});
|
|
81
|
-
it('should correctly handle
|
|
81
|
+
it('should correctly handle positive hours', () => {
|
|
82
82
|
assert.equal(formatIntervalHM((4 * 60 + 17.8) * 60 * 1000), '04:17');
|
|
83
83
|
});
|
|
84
|
-
it('should correctly handle large
|
|
84
|
+
it('should correctly handle large positive hours', () => {
|
|
85
85
|
assert.equal(formatIntervalHM((143 * 60 + 17.8) * 60 * 1000), '143:17');
|
|
86
86
|
});
|
|
87
87
|
it('should correctly handle an explicit sign', () => {
|