diff --git a/test/jasmine/tests/axes_test.js b/test/jasmine/tests/axes_test.js
index 99ae46c6e5b..06891effe67 100644
--- a/test/jasmine/tests/axes_test.js
+++ b/test/jasmine/tests/axes_test.js
@@ -5661,6 +5661,127 @@ describe('Test axes', function() {
});
});
+ [
+ {
+ range: ['2084-12-15', '2020-12-15'],
+ positions: ['2090-07-02 15:00', '2080-07-01 15:00', '2070-07-02 15:00', '2060-07-01 15:00', '2050-07-02 15:00', '2040-07-01 15:00', '2030-07-02 15:00'],
+ labels: ['', '2080', '2070', '2060', '2050', '2040', '2030']
+ },
+ {
+ range: ['2052-12-15', '2020-12-15'],
+ positions: ['2055-07-02 15:00', '2050-07-02 15:00', '2045-07-02 15:00', '2040-07-01 15:00', '2035-07-02 15:00', '2030-07-02 15:00', '2025-07-02 15:00'],
+ labels: ['', '2050', '2045', '2040', '2035', '2030', '2025']
+ },
+ {
+ range: ['2036-12-15', '2020-12-15'],
+ positions: ['2038-07-02 15:00', '2036-07-01 15:00', '2034-07-02 15:00', '2032-07-01 15:00', '2030-07-02 15:00', '2028-07-01 15:00', '2026-07-02 15:00', '2024-07-01 15:00', '2022-07-02 15:00'],
+ labels: ['', '2036', '2034', '2032', '2030', '2028', '2026', '2024', '2022']
+ },
+ {
+ range: ['2028-12-15', '2020-12-15'],
+ positions: ['2029-07-03', '2028-07-01 12:00', '2027-07-02 12:00', '2026-07-02 12:00', '2025-07-03', '2024-07-01 12:00', '2023-07-02 12:00', '2022-07-02 12:00', '2021-07-02 12:00'],
+ labels: ['', '2028', '2027', '2026', '2025', '2024', '2023', '2022', '2021']
+ },
+ {
+ range: ['2024-12-15', '2020-12-15'],
+ positions: ['2025-01-16 05:15', '2024-07-16 05:15', '2024-01-16 05:15', '2023-07-16 05:15', '2023-01-16 05:15', '2022-07-16 05:15', '2022-01-16 05:15', '2021-07-16 05:15', '2021-01-16 05:15'],
+ labels: ['', 'Jul 2024', 'Jan 2024', 'Jul 2023', 'Jan 2023', 'Jul 2022', 'Jan 2022', 'Jul 2021', 'Jan 2021']
+ },
+ {
+ range: ['2022-12-15', '2020-12-15'],
+ positions: ['2023-01-16 05:15', '2022-10-16 05:15', '2022-07-16 05:15', '2022-04-16 05:15', '2022-01-16 05:15', '2021-10-16 05:15', '2021-07-16 05:15', '2021-04-16 05:15', '2021-01-16 05:15'],
+ labels: ['', 'Oct 2022', 'Jul 2022', 'Apr 2022', 'Jan 2022', 'Oct 2021', 'Jul 2021', 'Apr 2021', 'Jan 2021']
+ },
+ {
+ range: ['2021-12-15', '2020-12-15'],
+ positions: ['2022-01-16 05:15', '2021-11-16 05:15', '2021-09-16 05:15', '2021-07-16 05:15', '2021-05-16 05:15', '2021-03-16 05:15', '2021-01-16 05:15'],
+ labels: ['', 'Nov 2021', 'Sep 2021', 'Jul 2021', 'May 2021', 'Mar 2021', 'Jan 2021']
+ },
+ {
+ range: ['2021-06-15', '2020-12-15'],
+ positions: ['2021-07-16', '2021-06-16 12:00', '2021-05-16', '2021-04-16 12:00', '2021-03-15', '2021-02-16 12:00', '2021-01-16 12:00'],
+ labels: ['', '', 'May 2021', 'Apr 2021', 'Mar 2021', 'Feb 2021', 'Jan 2021']
+ },
+ {
+ range: ['2021-02-15', '2020-12-15'],
+ positions: ['2021-02-21 12:00', '2021-02-14 12:00', '2021-02-07 12:00', '2021-01-31 12:00', '2021-01-24 12:00', '2021-01-17 12:00', '2021-01-10 12:00', '2021-01-03 12:00', '2020-12-27 12:00', '2020-12-20 12:00'],
+ labels: ['', 'Feb 14
2021', 'Feb 7', 'Jan 31', 'Jan 24', 'Jan 17', 'Jan 10', 'Jan 3', 'Dec 27
2020', 'Dec 20']
+ },
+ {
+ range: ['2021-01-15', '2020-12-15'],
+ positions: ['2021-01-17 12:00', '2021-01-10 12:00', '2021-01-03 12:00', '2020-12-27 12:00', '2020-12-20 12:00'],
+ labels: ['', 'Jan 10
2021', 'Jan 3', 'Dec 27
2020', 'Dec 20']
+ },
+ {
+ range: ['2021-01-01', '2020-12-15'],
+ positions: ['2021-01-03 12:00', '2021-01-01 12:00', '2020-12-30 12:00', '2020-12-28 12:00', '2020-12-26 12:00', '2020-12-24 12:00', '2020-12-22 12:00', '2020-12-20 12:00', '2020-12-18 12:00', '2020-12-16 12:00'],
+ labels: ['', '', 'Dec 30
2020', 'Dec 28', 'Dec 26', 'Dec 24', 'Dec 22', 'Dec 20', 'Dec 18', 'Dec 16']
+ },
+ {
+ range: ['2020-12-21', '2020-12-15'],
+ positions: ['2020-12-22 12:00', '2020-12-21 12:00', '2020-12-20 12:00', '2020-12-19 12:00', '2020-12-18 12:00', '2020-12-17 12:00', '2020-12-16 12:00', '2020-12-15 12:00'],
+ labels: ['', '', 'Dec 20
2020', 'Dec 19', 'Dec 18', 'Dec 17', 'Dec 16', 'Dec 15']
+ },
+ {
+ range: ['2020-12-16', '2020-12-15'],
+ positions: ['2020-12-16 03:00', '2020-12-16', '2020-12-15 21:00', '2020-12-15 18:00', '2020-12-15 15:00', '2020-12-15 12:00', '2020-12-15 09:00', '2020-12-15 06:00', '2020-12-15 03:00', '2020-12-15'],
+ labels: ['', '00:00
Dec 16, 2020', '21:00
Dec 15, 2020', '18:00', '15:00', '12:00', '09:00', '06:00', '03:00', '00:00']
+ },
+ {
+ range: ['2020-12-15 12:00', '2020-12-15'],
+ positions: ['2020-12-15 14:00', '2020-12-15 12:00', '2020-12-15 10:00', '2020-12-15 08:00', '2020-12-15 06:00', '2020-12-15 04:00', '2020-12-15 02:00', '2020-12-15'],
+ labels: ['', '12:00
Dec 15, 2020', '10:00', '08:00', '06:00', '04:00', '02:00', '00:00']
+ }
+ ].forEach(function(t) {
+ it('should position auto labels | reversed range:' + t.range, function(done) {
+ Plotly.newPlot(gd, {
+ data: [{
+ hovertemplate: hovertemplate,
+ x: [
+ '2020-12-15',
+ '2020-12-15 0:45',
+ '2020-12-15 1:30',
+ '2020-12-15 3:00',
+ '2020-12-15 6:00',
+ '2020-12-15 12:00',
+ '2020-12-16',
+ '2020-12-18',
+ '2020-12-24',
+ '2021-01-01',
+ '2021-01-15',
+ '2021-02-15',
+ '2021-03-15',
+ '2021-04-15',
+ '2021-05-15',
+ '2021-06-15',
+ '2021-07-01',
+ '2022-07-01',
+ '2023-07-01',
+ '2024-07-01',
+ '2025-07-01',
+ '2030-07-01',
+ '2035-07-01',
+ '2040-07-01',
+ '2080-07-01',
+ '2160-07-01'
+ ]
+ }],
+ layout: {
+ width: 1000,
+ xaxis: {
+ ticklabelmode: 'period',
+ range: t.range
+ }
+ }
+ })
+ .then(function() {
+ _assert('', t.positions, t.labels);
+ })
+ .catch(failTest)
+ .then(done);
+ });
+ });
+
[
{
range: ['2020-12-14 08:00', '2022-12-14 08:00'],