From c84a66142a216f776acd7e74c52d352ad2f08891 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Sun, 28 Jun 2026 12:09:53 -0400 Subject: [PATCH] [tests] Fix broken tests --- __tests__/util/format.test.js | 2 +- __tests__/util/helpers.test.js | 2 +- src/js/components/Dater.js | 12 +++++++++--- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/__tests__/util/format.test.js b/__tests__/util/format.test.js index 5e82893d..8d7d76f0 100644 --- a/__tests__/util/format.test.js +++ b/__tests__/util/format.test.js @@ -3,7 +3,7 @@ import { decodeUri, } from '../../src/js/util/format'; -const encoded = 'c3BvdGlmeTphbGJ1bTpodHRwOi8vdGVzdC5jb20vMTIzIUAjJCVeJltdOzw+Lz8i4oCU4oCTLcOhw4HDoMOAw6LDgsOkw4TDo8ODw6XDhcOmw4bDp8OHw6nDicOow4jDqsOKw6vDi8Otw43DrMOMw67DjsOvw4/DscORw7PDk8Oyw5LDtMOUw7bDlsO1w5XDuMOYxZPFksOfw7rDmsO5w5nDu8Obw7zDnCAubXAz'; +const encoded = 'c3BvdGlmeTphbGJ1bTpodHRwOi8vdGVzdC5jb20vMTIzIUAjJCVeJltdOzw-Lz8i4oCU4oCTLcOhw4HDoMOAw6LDgsOkw4TDo8ODw6XDhcOmw4bDp8OHw6nDicOow4jDqsOKw6vDi8Otw43DrMOMw67DjsOvw4_DscORw7PDk8Oyw5LDtMOUw7bDlsO1w5XDuMOYxZPFksOfw7rDmsO5w5nDu8Obw7zDnCAubXAz'; const decoded = 'spotify:album:http://test.com/123!@#$%^&[];<>/?"—–-áÁàÀâÂäÄãÃåÅæÆçÇéÉèÈêÊëËíÍìÌîÎïÏñÑóÓòÒôÔöÖõÕøØœŒßúÚùÙûÛüÜ .mp3'; describe('encodeUri', () => { diff --git a/__tests__/util/helpers.test.js b/__tests__/util/helpers.test.js index b8cc5747..d17fa94e 100755 --- a/__tests__/util/helpers.test.js +++ b/__tests__/util/helpers.test.js @@ -159,7 +159,7 @@ describe('buildLink', () => { it('should handle special characters', () => { let link = helpers.buildLink('spotify:album:http://test.com/123!@#$%^&[];<>/?" .mp3'); expect(typeof (link)).toBe('string'); - expect(link).toBe('/album/c3BvdGlmeTphbGJ1bTpodHRwOi8vdGVzdC5jb20vMTIzIUAjJCVeJltdOzw+Lz8iIC5tcDM='); + expect(link).toBe('/album/c3BvdGlmeTphbGJ1bTpodHRwOi8vdGVzdC5jb20vMTIzIUAjJCVeJltdOzw-Lz8iIC5tcDM='); }); }); diff --git a/src/js/components/Dater.js b/src/js/components/Dater.js index 6ec211c6..dcd3cfef 100755 --- a/src/js/components/Dater.js +++ b/src/js/components/Dater.js @@ -80,10 +80,16 @@ const dater = (type, data) => { // A four-character date indicates just a year (rather than a full date) if (data.length == 4) { return data; - - // Digest as a date string } - var date = new Date(data); + + // Parse ISO dates (yyyy-mm-dd) manually to avoid UTC interpretation + var date; + if (/^\d{4}-\d{2}-\d{2}$/.test(data)) { + var parts = data.split('-'); + date = new Date(+parts[0], +parts[1] - 1, +parts[2]); + } else { + date = new Date(data); + } return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`; case 'ago':