|
| 1 | +import MockDate from 'mockdate' |
| 2 | +import dayjs from '../../src' |
| 3 | +import relativeTime from '../../src/plugin/relativeTime' |
| 4 | +import '../../src/locale/sl' |
| 5 | + |
| 6 | +dayjs.extend(relativeTime) |
| 7 | + |
| 8 | +beforeEach(() => { |
| 9 | + MockDate.set(new Date()) |
| 10 | +}) |
| 11 | + |
| 12 | +afterEach(() => { |
| 13 | + MockDate.reset() |
| 14 | +}) |
| 15 | + |
| 16 | +it('Slovenian locale relative time in past and future', () => { |
| 17 | + const cases = [ |
| 18 | + [1, 's', 'čez nekaj sekund', 'nekaj sekund'], |
| 19 | + [-1, 's', 'pred nekaj sekundami', 'nekaj sekund'], |
| 20 | + [1, 'm', 'čez eno minuto', 'ena minuta'], |
| 21 | + [-1, 'm', 'pred eno minuto', 'ena minuta'], |
| 22 | + [2, 'm', 'čez 2 minuti', '2 minuti'], |
| 23 | + [-2, 'm', 'pred 2 minutama', '2 minuti'], |
| 24 | + [3, 'm', 'čez 3 minute', '3 minute'], |
| 25 | + [-3, 'm', 'pred 3 minutami', '3 minute'], |
| 26 | + [5, 'm', 'čez 5 minut', '5 minut'], |
| 27 | + [-5, 'm', 'pred 5 minutami', '5 minut'], |
| 28 | + [1, 'h', 'čez eno uro', 'ena ura'], |
| 29 | + [-1, 'h', 'pred eno uro', 'ena ura'], |
| 30 | + [2, 'h', 'čez 2 uri', '2 uri'], |
| 31 | + [-2, 'h', 'pred 2 urama', '2 uri'], |
| 32 | + [3, 'h', 'čez 3 ure', '3 ure'], |
| 33 | + [-3, 'h', 'pred 3 urami', '3 ure'], |
| 34 | + [5, 'h', 'čez 5 ur', '5 ur'], |
| 35 | + [-5, 'h', 'pred 5 urami', '5 ur'], |
| 36 | + [1, 'd', 'čez en dan', 'en dan'], |
| 37 | + [-1, 'd', 'pred enim dnem', 'en dan'], |
| 38 | + [2, 'd', 'čez 2 dneva', '2 dneva'], |
| 39 | + [-2, 'd', 'pred 2 dnevoma', '2 dneva'], |
| 40 | + [3, 'd', 'čez 3 dni', '3 dni'], |
| 41 | + [-3, 'd', 'pred 3 dnevi', '3 dni'], |
| 42 | + [5, 'd', 'čez 5 dni', '5 dni'], |
| 43 | + [-5, 'd', 'pred 5 dnevi', '5 dni'], |
| 44 | + [1, 'M', 'čez en mesec', 'en mesec'], |
| 45 | + [-1, 'M', 'pred enim mesecem', 'en mesec'], |
| 46 | + [2, 'M', 'čez 2 meseca', '2 meseca'], |
| 47 | + [-2, 'M', 'pred 2 mesecema', '2 meseca'], |
| 48 | + [3, 'M', 'čez 3 mesece', '3 mesece'], |
| 49 | + [-3, 'M', 'pred 3 meseci', '3 mesece'], |
| 50 | + [5, 'M', 'čez 5 mesecev', '5 mesecev'], |
| 51 | + [-5, 'M', 'pred 5 meseci', '5 mesecev'], |
| 52 | + [1, 'y', 'čez eno leto', 'eno leto'], |
| 53 | + [-1, 'y', 'pred enim letom', 'eno leto'], |
| 54 | + [2, 'y', 'čez 2 leti', '2 leti'], |
| 55 | + [-2, 'y', 'pred 2 letoma', '2 leti'], |
| 56 | + [3, 'y', 'čez 3 leta', '3 leta'], |
| 57 | + [-3, 'y', 'pred 3 leti', '3 leta'], |
| 58 | + [5, 'y', 'čez 5 let', '5 let'], |
| 59 | + [-5, 'y', 'pred 5 leti', '5 let'] |
| 60 | + // these are rounded |
| 61 | + // if user decides to change rounding then it would be good to test them also |
| 62 | + // [102, 's', 'čez 102 sekundi', '102 sekundi'], |
| 63 | + // [-102, 's', 'pred 102 sekundama', '102 sekundi'], |
| 64 | + // [103, 's', 'čez 103 sekunde', '103 sekunde'], |
| 65 | + // [-103, 's', 'pred 103 sekundami', '103 sekunde'], |
| 66 | + // [114, 's', 'čez 114 sekund', '114 sekund'], |
| 67 | + // [-114, 's', 'pred 114 sekundami', '114 sekund'], |
| 68 | + // [-102, 'm', 'čez 102 minuti', '102 minuti'], |
| 69 | + // [-102, 'm', 'pred 102 minutama', '102 minuti'], |
| 70 | + // [103, 'm', 'čez 103 minute', '103 minute'], |
| 71 | + // [-103, 'm', 'pred 103 minutami', '103 minute'], |
| 72 | + // [114, 'm', 'čez 114 minut', '114 minut'], |
| 73 | + // [-114, 'm', 'pred 114 minutami', '114 minut'] |
| 74 | + ] |
| 75 | + |
| 76 | + cases.forEach((c) => { |
| 77 | + // With suffix |
| 78 | + expect(dayjs().add(c[0], c[1]).locale('sl').fromNow()).toBe(c[2]) |
| 79 | + // Without suffix |
| 80 | + expect(dayjs().add(c[0], c[1]).locale('sl').fromNow(true)).toBe(c[3]) |
| 81 | + }) |
| 82 | +}) |
0 commit comments