import * as chrono from "../../src"; import { testSingleCase, testUnexpectedResult } from "../test_util"; import SVTimeUnitCasualRelativeFormatParser from "../../src/locales/sv/parsers/SVTimeUnitCasualRelativeFormatParser"; test("Test - Positive time units", () => { testSingleCase(chrono.sv, "nästa 2 veckor", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(15); }); testSingleCase(chrono.sv, "nästa 2 dagar", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(3); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "nästa två år", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2018); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(1); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "nästa 2 veckor 3 dagar", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(18); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "efter ett år", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2017); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(1); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "efter en timme", new Date(2016, 10 - 1, 1, 15), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(1); expect(result.start.get("hour")).toBe(16); }); }); test("Test - Negative time units", () => { testSingleCase(chrono.sv, "förra 2 veckor", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(9); expect(result.start.get("day")).toBe(17); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "förra två veckor", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(9); expect(result.start.get("day")).toBe(17); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "passerade 2 dagar", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(9); expect(result.start.get("day")).toBe(29); expect(result.start.get("hour")).toBe(12); }); testSingleCase(chrono.sv, "+2 månader, 5 dagar", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(12); expect(result.start.get("day")).toBe(6); expect(result.start.get("hour")).toBe(12); }); }); test("Test - Plus '+' sign", () => { testSingleCase(chrono.sv.casual, "+15 minuter", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("hour")).toBe(12); expect(result.start.get("minute")).toBe(29); expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29)); }); testSingleCase(chrono.sv.casual, "+15min", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("hour")).toBe(12); expect(result.start.get("minute")).toBe(29); expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 29)); }); testSingleCase(chrono.sv.casual, "+1 dag 2 timmar", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("day")).toBe(11); expect(result.start.get("hour")).toBe(14); expect(result.start.get("minute")).toBe(14); expect(result.start).toBeDate(new Date(2012, 7 - 1, 11, 14, 14)); }); testSingleCase(chrono.sv.casual, "+1min", new Date(2012, 7 - 1, 10, 12, 14), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("hour")).toBe(12); expect(result.start.get("minute")).toBe(15); expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 15)); }); }); test("Test - Minus '-' sign", () => { testSingleCase(chrono.sv.casual, "-3år", new Date(2015, 7 - 1, 10, 12, 14), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2012); expect(result.start.get("month")).toBe(7); expect(result.start.get("day")).toBe(10); expect(result.start.get("hour")).toBe(12); expect(result.start.get("minute")).toBe(14); expect(result.start).toBeDate(new Date(2012, 7 - 1, 10, 12, 14)); }); testSingleCase(chrono.sv, "-2tim5min", new Date(2016, 10 - 1, 1, 12), (result, text) => { expect(result.text).toBe(text); expect(result.start.get("year")).toBe(2016); expect(result.start.get("month")).toBe(10); expect(result.start.get("day")).toBe(1); expect(result.start.get("hour")).toBe(9); expect(result.start.get("minute")).toBe(55); }); });