From 29ea31d2a6767047a865244050ae94816f581e9a Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 28 Jul 2020 14:10:44 -0400 Subject: [PATCH 1/6] apply latest d3-time-format instead of d3 v3 time format - support formatting options e.g. quarters, weeks and weekdays - update description link to list various time format options --- package-lock.json | 13 +++++++++++++ package.json | 1 + src/constants/docs.js | 2 +- src/lib/dates.js | 6 +++--- src/lib/index.js | 3 ++- src/plots/cartesian/set_convert.js | 3 ++- src/plots/plots.js | 6 +++++- test/jasmine/tests/axes_test.js | 3 ++- test/jasmine/tests/localize_test.js | 3 ++- 9 files changed, 31 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 11fcb19be53..cbe39237fd3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2482,6 +2482,19 @@ "d3-path": "1" } }, + "d3-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", + "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==" + }, + "d3-time-format": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.2.3.tgz", + "integrity": "sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==", + "requires": { + "d3-time": "1" + } + }, "d3-timer": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", diff --git a/package.json b/package.json index 875885a4576..7b2092835a9 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "d3-force": "^1.2.1", "d3-hierarchy": "^1.1.9", "d3-interpolate": "^1.4.0", + "d3-time-format": "^2.2.3", "delaunay-triangulate": "^1.1.6", "es6-promise": "^4.2.8", "fast-isnumeric": "^1.1.4", diff --git a/src/constants/docs.js b/src/constants/docs.js index 72e06e9af84..fc24f8ee953 100644 --- a/src/constants/docs.js +++ b/src/constants/docs.js @@ -10,5 +10,5 @@ module.exports = { FORMAT_LINK: 'https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format', - DATE_FORMAT_LINK: 'https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format' + DATE_FORMAT_LINK: 'https://github.com/d3/d3-time-format#locale_format' }; diff --git a/src/lib/dates.js b/src/lib/dates.js index 52ca20433e1..4fc8387d2cb 100644 --- a/src/lib/dates.js +++ b/src/lib/dates.js @@ -9,7 +9,7 @@ 'use strict'; -var d3 = require('d3'); +var timeFormat = require('d3-time-format').timeFormat; var isNumeric = require('fast-isnumeric'); var Loggers = require('./loggers'); @@ -25,7 +25,7 @@ var EPOCHJD = constants.EPOCHJD; var Registry = require('../registry'); -var utcFormat = d3.time.format.utc; +var utcFormat = require('d3-time-format').utcFormat; var DATETIME_REGEXP = /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m; // special regex for chinese calendars to support yyyy-mmi-dd etc for intercalary months @@ -306,7 +306,7 @@ exports.ms2DateTimeLocal = function(ms) { var msecTenths = Math.floor(mod(ms + 0.05, 1) * 10); var d = new Date(Math.round(ms - msecTenths / 10)); - var dateStr = d3.time.format('%Y-%m-%d')(d); + var dateStr = timeFormat('%Y-%m-%d')(d); var h = d.getHours(); var m = d.getMinutes(); var s = d.getSeconds(); diff --git a/src/lib/index.js b/src/lib/index.js index 331c5dbefb4..2ea7cda940c 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -9,6 +9,7 @@ 'use strict'; var d3 = require('d3'); +var utcFormat = require('d3-time-format').utcFormat; var isNumeric = require('fast-isnumeric'); var numConstants = require('../constants/numerical'); @@ -1082,7 +1083,7 @@ function templateFormatString(string, labels, d3locale) { } if(format[0] === '|') { - fmt = d3locale ? d3locale.timeFormat.utc : d3.time.format.utc; + fmt = d3locale ? d3locale.timeFormat : utcFormat; var ms = lib.dateTime2ms(value); value = lib.formatDate(ms, format.replace(TEMPLATE_STRING_FORMAT_SEPARATOR, ''), false, fmt); } diff --git a/src/plots/cartesian/set_convert.js b/src/plots/cartesian/set_convert.js index 508d3731b00..0a2c86f4f6f 100644 --- a/src/plots/cartesian/set_convert.js +++ b/src/plots/cartesian/set_convert.js @@ -9,6 +9,7 @@ 'use strict'; var d3 = require('d3'); +var utcFormat = require('d3-time-format').utcFormat; var isNumeric = require('fast-isnumeric'); var Lib = require('../../lib'); @@ -954,7 +955,7 @@ module.exports = function setConvert(ax, fullLayout) { // Fall back on default format for dummy axes that don't care about formatting var locale = fullLayout._d3locale; if(ax.type === 'date') { - ax._dateFormat = locale ? locale.timeFormat.utc : d3.time.format.utc; + ax._dateFormat = locale ? locale.timeFormat : utcFormat; ax._extraFormat = fullLayout._extraFormat; } // occasionally we need _numFormat to pass through diff --git a/src/plots/plots.js b/src/plots/plots.js index 9fad0247f05..03ba70426c0 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -9,6 +9,7 @@ 'use strict'; var d3 = require('d3'); +var timeFormatLocale = require('d3-time-format').timeFormatLocale; var isNumeric = require('fast-isnumeric'); var Registry = require('../registry'); @@ -723,7 +724,10 @@ function getFormatter(formatObj, separators) { formatObj.decimal = separators.charAt(0); formatObj.thousands = separators.charAt(1); - return d3.locale(formatObj); + return { + numberFormat: d3.locale(formatObj).numberFormat, + timeFormat: timeFormatLocale(formatObj).utcFormat + }; } function fillMetaTextHelpers(newFullData, newFullLayout) { diff --git a/test/jasmine/tests/axes_test.js b/test/jasmine/tests/axes_test.js index 5c19984ce9e..f9c7b2a347c 100644 --- a/test/jasmine/tests/axes_test.js +++ b/test/jasmine/tests/axes_test.js @@ -1,5 +1,6 @@ var Plotly = require('@lib/index'); var d3 = require('d3'); +var utcFormat = require('d3-time-format').utcFormat; var Plots = require('@src/plots/plots'); var Lib = require('@src/lib'); @@ -5206,7 +5207,7 @@ function getZoomOutButton(gd) { } function getFormatter(format) { - return d3.time.format.utc(format); + return utcFormat(format); } describe('Test Axes.getTickformat', function() { diff --git a/test/jasmine/tests/localize_test.js b/test/jasmine/tests/localize_test.js index 92d2d0f556b..c4b1ea92088 100644 --- a/test/jasmine/tests/localize_test.js +++ b/test/jasmine/tests/localize_test.js @@ -3,6 +3,7 @@ var _ = Lib._; var Registry = require('@src/registry'); var d3 = require('d3'); +var utcFormat = require('d3-time-format').utcFormat; var Plotly = require('@lib'); var createGraphDiv = require('../assets/create_graph_div'); @@ -236,7 +237,7 @@ describe('localization', function() { expect(firstYLabel()).toBe('0~5'); var d0 = new Date(0); // thursday, Jan 1 1970 (UTC) // sanity check that d0 is what we think... - expect(d3.time.format.utc('%a %b %A %B')(d0)).toBe('Thu Jan Thursday January'); + expect(utcFormat('%a %b %A %B')(d0)).toBe('Thu Jan Thursday January'); // full names were not overridden, so fall back on english expect(gd._fullLayout.xaxis._dateFormat('%a %b %A %B')(d0)).toBe('t !1 Thursday January'); }) From 23157770565bc0f47cb9a22a5cc623fc5e770e63 Mon Sep 17 00:00:00 2001 From: archmoj Date: Tue, 28 Jul 2020 17:57:14 -0400 Subject: [PATCH 2/6] add test to display new formatting options --- .../baselines/quarters_and_week_formats.png | Bin 0 -> 58738 bytes .../mocks/quarters_and_week_formats.json | 218 ++++++++++++++++++ test/jasmine/tests/mock_test.js | 2 + 3 files changed, 220 insertions(+) create mode 100644 test/image/baselines/quarters_and_week_formats.png create mode 100644 test/image/mocks/quarters_and_week_formats.json diff --git a/test/image/baselines/quarters_and_week_formats.png b/test/image/baselines/quarters_and_week_formats.png new file mode 100644 index 0000000000000000000000000000000000000000..a31e57d7b77a41d04e03161f519b33e62947d7fa GIT binary patch literal 58738 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/quarters_and_week_formats.json b/test/image/mocks/quarters_and_week_formats.json new file mode 100644 index 00000000000..1e98b6632ce --- /dev/null +++ b/test/image/mocks/quarters_and_week_formats.json @@ -0,0 +1,218 @@ +{ + "data": [ + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x2", + "yaxis": "y2" + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x3", + "yaxis": "y3" + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x4", + "yaxis": "y4" + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x5", + "yaxis": "y5" + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x6", + "yaxis": "y6" + }, + { + "x": [ + "2020-01-01", + "2020-02-01", + "2020-03-01", + "2020-04-01", + "2020-05-01", + "2020-06-01", + "2020-07-01", + "2020-08-01", + "2020-09-01", + "2020-10-01", + "2020-11-01", + "2020-12-01", + "2021-01-01" + ], + "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], + "xaxis": "x7", + "yaxis": "y7" + } + ], + "layout": { + "showlegend": false, + "width": 600, + "height": 500, + "yaxis": { + "domain": [ + 0, + 0.04 + ] + }, + "yaxis2": { + "domain": [ + 0.16, + 0.2 + ] + }, + "yaxis3": { + "domain": [ + 0.32, + 0.36 + ] + }, + "yaxis4": { + "domain": [ + 0.48, + 0.52 + ] + }, + "yaxis5": { + "domain": [ + 0.64, + 0.68 + ] + }, + "yaxis6": { + "domain": [ + 0.80, + 0.84 + ] + }, + "yaxis7": { + "domain": [ + 0.96, + 1 + ] + }, + "xaxis": { + "autorange": "reversed", + "tickformat": "%Y-Q%q", + "anchor": "y" + }, + "xaxis2": { + "tickformat": "%Y-Q%q", + "anchor": "y2" + }, + "xaxis3": { + "tickformat": "%Y
week%U", + "anchor": "y3" + }, + "xaxis4": { + "tickformat": "%Y
week: %V", + "anchor": "y4" + }, + "xaxis5": { + "tickformat": "%Y
week: %W", + "anchor": "y5" + }, + "xaxis6": { + "tickformat": "%a
weekday: %w", + "anchor": "y6" + }, + "xaxis7": { + "tickformat": "%A
weekday: %u", + "anchor": "y7" + } + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index d03e59ad0a8..4f93803269c 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -803,6 +803,7 @@ var list = [ 'polar_wind-rose', 'portland_heatmap', 'pseudo_html', + 'quarters_and_week_formats', 'range_selector', 'range_selector_style', 'range_slider', @@ -1850,6 +1851,7 @@ figs['polar_ticks'] = require('@mocks/polar_ticks'); figs['polar_wind-rose'] = require('@mocks/polar_wind-rose'); figs['portland_heatmap'] = require('@mocks/portland_heatmap'); figs['pseudo_html'] = require('@mocks/pseudo_html'); +figs['quarters_and_week_formats'] = require('@mocks/quarters_and_week_formats'); figs['range_selector'] = require('@mocks/range_selector'); figs['range_selector_style'] = require('@mocks/range_selector_style'); figs['range_slider'] = require('@mocks/range_slider'); From e92a88c9ba44c2aac719bf0de5c7dcd12e25b245 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 29 Jul 2020 11:11:49 -0400 Subject: [PATCH 3/6] Revert "add test to display new formatting options" This reverts commit 23157770565bc0f47cb9a22a5cc623fc5e770e63. --- .../baselines/quarters_and_week_formats.png | Bin 58738 -> 0 bytes .../mocks/quarters_and_week_formats.json | 218 ------------------ test/jasmine/tests/mock_test.js | 2 - 3 files changed, 220 deletions(-) delete mode 100644 test/image/baselines/quarters_and_week_formats.png delete mode 100644 test/image/mocks/quarters_and_week_formats.json diff --git a/test/image/baselines/quarters_and_week_formats.png b/test/image/baselines/quarters_and_week_formats.png deleted file mode 100644 index a31e57d7b77a41d04e03161f519b33e62947d7fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58738 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
Q3>|ux*^k~& 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 diff --git a/test/image/mocks/quarters_and_week_formats.json b/test/image/mocks/quarters_and_week_formats.json deleted file mode 100644 index 1e98b6632ce..00000000000 --- a/test/image/mocks/quarters_and_week_formats.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "data": [ - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x2", - "yaxis": "y2" - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x3", - "yaxis": "y3" - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x4", - "yaxis": "y4" - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x5", - "yaxis": "y5" - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x6", - "yaxis": "y6" - }, - { - "x": [ - "2020-01-01", - "2020-02-01", - "2020-03-01", - "2020-04-01", - "2020-05-01", - "2020-06-01", - "2020-07-01", - "2020-08-01", - "2020-09-01", - "2020-10-01", - "2020-11-01", - "2020-12-01", - "2021-01-01" - ], - "y": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], - "xaxis": "x7", - "yaxis": "y7" - } - ], - "layout": { - "showlegend": false, - "width": 600, - "height": 500, - "yaxis": { - "domain": [ - 0, - 0.04 - ] - }, - "yaxis2": { - "domain": [ - 0.16, - 0.2 - ] - }, - "yaxis3": { - "domain": [ - 0.32, - 0.36 - ] - }, - "yaxis4": { - "domain": [ - 0.48, - 0.52 - ] - }, - "yaxis5": { - "domain": [ - 0.64, - 0.68 - ] - }, - "yaxis6": { - "domain": [ - 0.80, - 0.84 - ] - }, - "yaxis7": { - "domain": [ - 0.96, - 1 - ] - }, - "xaxis": { - "autorange": "reversed", - "tickformat": "%Y-Q%q", - "anchor": "y" - }, - "xaxis2": { - "tickformat": "%Y-Q%q", - "anchor": "y2" - }, - "xaxis3": { - "tickformat": "%Y
week%U", - "anchor": "y3" - }, - "xaxis4": { - "tickformat": "%Y
week: %V", - "anchor": "y4" - }, - "xaxis5": { - "tickformat": "%Y
week: %W", - "anchor": "y5" - }, - "xaxis6": { - "tickformat": "%a
weekday: %w", - "anchor": "y6" - }, - "xaxis7": { - "tickformat": "%A
weekday: %u", - "anchor": "y7" - } - } -} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index 4f93803269c..d03e59ad0a8 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -803,7 +803,6 @@ var list = [ 'polar_wind-rose', 'portland_heatmap', 'pseudo_html', - 'quarters_and_week_formats', 'range_selector', 'range_selector_style', 'range_slider', @@ -1851,7 +1850,6 @@ figs['polar_ticks'] = require('@mocks/polar_ticks'); figs['polar_wind-rose'] = require('@mocks/polar_wind-rose'); figs['portland_heatmap'] = require('@mocks/portland_heatmap'); figs['pseudo_html'] = require('@mocks/pseudo_html'); -figs['quarters_and_week_formats'] = require('@mocks/quarters_and_week_formats'); figs['range_selector'] = require('@mocks/range_selector'); figs['range_selector_style'] = require('@mocks/range_selector_style'); figs['range_slider'] = require('@mocks/range_slider'); From c877e72508ebadbb70b3af1f89d40754672275b6 Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 29 Jul 2020 11:16:30 -0400 Subject: [PATCH 4/6] apply latest d3-time-format in lib_date test --- test/jasmine/tests/lib_date_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jasmine/tests/lib_date_test.js b/test/jasmine/tests/lib_date_test.js index 70f5a94933c..8b2926e7bec 100644 --- a/test/jasmine/tests/lib_date_test.js +++ b/test/jasmine/tests/lib_date_test.js @@ -7,7 +7,7 @@ var calComponent = require('@src/components/calendars'); // use only the parts of world-calendars that we've imported for our tests var calendars = require('@src/components/calendars/calendars'); -var utcFormat = require('d3').time.format.utc; +var utcFormat = require('d3-time-format').utcFormat; describe('dates', function() { 'use strict'; From 2f7a14eb3dd7dbee059b5e6191c109732b93c08a Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 29 Jul 2020 11:26:33 -0400 Subject: [PATCH 5/6] fixup week-of-year index in the old test and add test for new time formatting options namely q, u and W --- test/jasmine/tests/lib_date_test.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/test/jasmine/tests/lib_date_test.js b/test/jasmine/tests/lib_date_test.js index 8b2926e7bec..d514bf197d9 100644 --- a/test/jasmine/tests/lib_date_test.js +++ b/test/jasmine/tests/lib_date_test.js @@ -571,15 +571,19 @@ describe('dates', function() { ], [ '%B \'%y WOY:%U DOW:%w', - 'August \'12 WOY:32 DOW:1', + 'August \'12 WOY:33 DOW:1', 'Mesori \'28 WOY:## DOW:##' // world-cals doesn't support U or w ], + [ + '%B \'%y QOY:%q WOY:%W DOW:%u', + 'August \'12 QOY:3 WOY:33 DOW:1', + 'Mesori \'28 QOY:3 WOY:48 DOW:1' + ], [ '%c && %x && .%2f .%f', // %f is our addition - 'Mon Aug 13 06:19:34 2012 && 08/13/2012 && .57 .5678', - 'Pes Meso 7 06:19:34 1728 && 12/07/1728 && .57 .5678' + '8/13/2012, 6:19:34 AM && 8/13/2012 && .57 .5678', + 'Pes Meso 7 6:19:34 AM 1728 && 12/07/1728 && .57 .5678' ] - ].forEach(function(v) { var fmt = v[0]; var expectedGregorian = v[1]; From 8cabb4726e3c9146f69ff3a0d4fe8c0b74bb0b2f Mon Sep 17 00:00:00 2001 From: archmoj Date: Wed, 29 Jul 2020 15:33:53 -0400 Subject: [PATCH 6/6] add test for seconds and milliseconds since UNIX epoch --- test/jasmine/tests/lib_date_test.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/jasmine/tests/lib_date_test.js b/test/jasmine/tests/lib_date_test.js index d514bf197d9..5305adc5aee 100644 --- a/test/jasmine/tests/lib_date_test.js +++ b/test/jasmine/tests/lib_date_test.js @@ -579,6 +579,11 @@ describe('dates', function() { 'August \'12 QOY:3 WOY:33 DOW:1', 'Mesori \'28 QOY:3 WOY:48 DOW:1' ], + [ + 'seconds: %s and milliseconds: %Q since UNIX epoch', + 'seconds: 1344838774 and milliseconds: 1344838774567 since UNIX epoch', + 'seconds: 1344838774 and milliseconds: 1344838774567 since UNIX epoch' + ], [ '%c && %x && .%2f .%f', // %f is our addition '8/13/2012, 6:19:34 AM && 8/13/2012 && .57 .5678',