forgejo/web_src/js/webcomponents/absolute-date.test.js
0ko a40284bec4 fix(tests): prevent frontend test dependency on system locale (#6649)
This test depended on system locale. It always failed with `LANG=fr_FR make test-frontend` and always passed with `LANG=C make test-frontend`.

- prevent this dependency by explicitly passing 'en-US'
- avoid process.env.TZ boilerplate with vi.stubEnv

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6649
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@beocode.eu>
2025-01-22 03:56:36 +00:00

24 lines
856 B
JavaScript

import {toAbsoluteLocaleDate} from './absolute-date.js';
test('toAbsoluteLocaleDate', () => {
expect(toAbsoluteLocaleDate('2024-03-15', 'en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
})).toEqual('March 15, 2024');
expect(toAbsoluteLocaleDate('2024-03-15T01:02:03', 'de-DE', {
year: 'numeric',
month: 'long',
day: 'numeric',
})).toEqual('15. März 2024');
// these cases shouldn't happen
expect(toAbsoluteLocaleDate('2024-03-15 01:02:03', '', {})).toEqual('Invalid Date');
expect(toAbsoluteLocaleDate('10000-01-01', '', {})).toEqual('Invalid Date');
// test different timezone
vi.stubEnv('TZ', 'America/New_York');
expect(new Date('2024-03-15').toLocaleString('en-US')).toEqual('3/14/2024, 8:00:00 PM');
expect(toAbsoluteLocaleDate('2024-03-15', 'en-US')).toEqual('3/15/2024, 12:00:00 AM');
});