UNPKG

jewish-dates-core

Version:
3 lines (2 loc) 6.71 kB
import{isValidDate as j,getHebWeekdays as q,getEngWeekdays as I,getWeekdays as b,getHebJewishMonths as M,getEngJewishMonths as H,getJewishMonths as y,getJewishYears as v,getPrevMonth as A,getNextMonth as F,getGregDate as k,getJewishMonthInfo as p,getJewishDate as C,IsJewishDatesEqual as S,getJewishDay as W,getJewishMonth as n,getHolidays as x,dontSelectHolidays as w,dontSelectShabat as B,dontSelectShabatAndHolidays as d,dontSelectOutOfRange as f,addDates as T,subtractDates as E,JewishMonth as J}from"../index";import r from"dayjs";import{it as t,expect as e,describe as _}from"vitest";const l={day:13,monthName:"Elul",year:5781};_("jewishDatesCore",()=>{t("is valid date",async()=>{e(j(new Date)).toBeTruthy()}),t("is not valid date",async()=>{e(j(l)).toBeFalsy()});const c=["\u05D0","\u05D1","\u05D2","\u05D3","\u05D4","\u05D5","\u05E9"],u=["Su","Mo","Tu","We","Th","Fr","Sa"];t("get hebrew weekdays",async()=>{e(q()).toEqual(c)}),t("get english weekdays",async()=>{e(I()).toEqual(u)}),t("get weekdays in hebrew",async()=>{e(b(!0)).toEqual(c)}),t("get weekdays in english",async()=>{e(b(!1)).toEqual(u)}),t("get hebrew jewish months",async()=>{const a=[{id:"Tishri",text:"\u05EA\u05E9\u05E8\u05D9"},{id:"Cheshvan",text:"\u05D7\u05E9\u05D5\u05DF"},{id:"Kislev",text:"\u05DB\u05E1\u05DC\u05D5"},{id:"Tevet",text:"\u05D8\u05D1\u05EA"},{id:"Shevat",text:"\u05E9\u05D1\u05D8"},{id:"AdarI",text:"\u05D0\u05D3\u05E8 \u05D0"},{id:"AdarII",text:"\u05D0\u05D3\u05E8 \u05D1"},{id:"Nisan",text:"\u05E0\u05D9\u05E1\u05DF"},{id:"Iyyar",text:"\u05D0\u05D9\u05D9\u05E8"},{id:"Sivan",text:"\u05E1\u05D9\u05D5\u05DF"},{id:"Tammuz",text:"\u05EA\u05DE\u05D5\u05D6"},{id:"Av",text:"\u05D0\u05D1"},{id:"Elul",text:"\u05D0\u05DC\u05D5\u05DC"}];e(M()).toEqual(a)}),t("get english jewish months",async()=>{const a=[{id:"Tishri",text:"Tishri"},{id:"Cheshvan",text:"Cheshvan"},{id:"Kislev",text:"Kislev"},{id:"Tevet",text:"Tevet"},{id:"Shevat",text:"Shevat"},{id:"AdarI",text:"AdarI"},{id:"AdarII",text:"AdarII"},{id:"Nisan",text:"Nisan"},{id:"Iyyar",text:"Iyyar"},{id:"Sivan",text:"Sivan"},{id:"Tammuz",text:"Tammuz"},{id:"Av",text:"Av"},{id:"Elul",text:"Elul"}];e(H()).toEqual(a)}),t("get jewish months - hebrew, meubar",async()=>{e(y(5782,!0)[5].text).toBe("\u05D0\u05D3\u05E8 \u05D0")}),t("get jewish months - english, meubar",async()=>{e(y(5784,!1)[6].text).toEqual("AdarII")}),t("get jewish months - hebrew, not meubar",async()=>{e(y(5781,!0)[5].text).toBe("\u05D0\u05D3\u05E8")}),t("get jewish months - english, not meubar",async()=>{e(y(5783,!1)[5].text).toBe("Adar")}),t("get jewish years",async()=>{e(v(5785)[200]).toBe(5885),e(v(5785)[0]).toBe(5685)});const D={isHebrew:!1,month:J.Tishri,year:5782},m={isHebrew:!1,month:J.Elul,year:5781};t("get prev month",async()=>{e(A(D)).toEqual(m)}),t("get next month",async()=>{e(F(m)).toEqual(D)}),t("get greg date",async()=>{e(k(l)).toEqual(new Date(2021,7,21))}),t("get jewish month info",async()=>{const a={jewishDate:{year:5782,month:5,day:25,monthName:"Shevat"},jewishMonth:5,startOfJewishMonth:r(new Date(2022,0,3)),sundayStartOfTheMonth:r(new Date(2022,0,2))};e(p(new Date(2022,0,27))).toEqual(a)});const i={day:13,monthName:"Elul",year:5781,month:12};t("get jewish date",async()=>{e(C(new Date(2021,7,21))).toEqual(i)});const N={year:5782,month:5,day:25,monthName:"Shevat"};t("Is jewish dates equal",async()=>{e(S(i,i)).toBeTruthy()}),t("Is jewish dates not equal",async()=>{e(S(i,N)).toBeFalsy()}),t("get jewish day",async()=>{const a=r(new Date(2022,0,27)),o={date:a.toDate(),day:25,dayjsDate:a,isCurrentMonth:!1,jewishDate:{year:5782,month:5,day:25,monthName:"Shevat"},jewishDateStr:"25 Shevat 5782",jewishDateStrHebrew:"\u05DB\u05F4\u05D4 \u05E9\u05D1\u05D8 \u05D4\u05EA\u05E9\u05E4\u05F4\u05D1"};e(W(a)).toEqual(o)}),t("get jewish month",async()=>{const a=new Date(2022,0,27),o={date:a,day:25,dayjsDate:r(a),isCurrentMonth:!0,jewishDate:{year:5782,month:5,day:25,monthName:"Shevat"},jewishDateStr:"25 Shevat 5782",jewishDateStrHebrew:"\u05DB\u05F4\u05D4 \u05E9\u05D1\u05D8 \u05D4\u05EA\u05E9\u05E4\u05F4\u05D1"};e(n(a).jewishMonth).toBe(5),e(n(a).jewishYear).toBe(5782),e(n(a).jewishMonthString).toBe("Shevat"),e(n(a).days[25]).toEqual(o),e(n(a).selectedDay).toEqual(o)}),t("get holidays of israel",async()=>{const a=["1 Tishri","2 Tishri","10 Tishri","15 Tishri","22 Tishri","15 Nisan","21 Nisan","6 Sivan"];e(x(!0)).toEqual(a)}),t("get holidays of chul",async()=>{const a=["1 Tishri","2 Tishri","10 Tishri","15 Tishri","22 Tishri","15 Nisan","21 Nisan","6 Sivan","16 Tishri","23 Tishri","16 Nisan","22 Nisan","7 Sivan"];e(x(!1)).toEqual(a)});const g={date:new Date(2022,3,17),jewishDate:{year:5782,month:7,day:16,monthName:"Nisan"},jewishDateStr:"16 Nisan 5782",jewishDateStrHebrew:"\u05D8\u05F4\u05D6 \u05E0\u05D9\u05E1\u05DF \u05D4\u05EA\u05E9\u05E4\u05F4\u05D1"},h={date:new Date(2022,3,22),jewishDate:{year:5782,month:7,day:21,monthName:"Nisan"},jewishDateStr:"21 Nisan 5782",jewishDateStrHebrew:"\u05DB\u05F4\u05D0 \u05E0\u05D9\u05E1\u05DF \u05D4\u05EA\u05E9\u05E4\u05F4\u05D1"},s={date:new Date(2022,3,23),jewishDate:{year:5782,month:7,day:22,monthName:"Nisan"},jewishDateStr:"22 Nisan 5782",jewishDateStrHebrew:"\u05DB\u05F4\u05D1 \u05E0\u05D9\u05E1\u05DF \u05D4\u05EA\u05E9\u05E4\u05F4\u05D1"};t("dont select holidays - israel, yom tov rishon",async()=>{e(w(!0)(h)).toBeFalsy()}),t("dont select holidays - israel, yom tov sheni",async()=>{e(w(!0)(s)).toBeTruthy()}),t("dont select holidays - chul, yom tov sheni",async()=>{e(w(!1)(s)).toBeFalsy()}),t("dont select shabat - shabat",async()=>{e(B(s)).toBeFalsy()}),t("dont select shabat - not shabat",async()=>{e(B(h)).toBeTruthy()}),t("dont select shabat and holidays - israel, yom tov rishon",async()=>{e(d(!0)(h)).toBeFalsy()}),t("dont select shabat and holidays - israel, shabat and yom tov sheni",async()=>{e(d(!0)(s)).toBeFalsy()}),t("dont select shabat and holidays - israel, not shabat and yom tov sheni",async()=>{e(d(!0)(g)).toBeTruthy()}),t("dont select shabat and holidays - chul, not shabat and yom tov sheni",async()=>{e(d(!1)(g)).toBeFalsy()}),t("dont select out of range - out of range",async()=>{e(f(new Date(2022,3,17),new Date(2022,3,22))(s)).toBeFalsy()}),t("dont select out of range - within range",async()=>{e(f(new Date(2022,3,17),new Date(2022,3,22))(h)).toBeTruthy()}),t("add dates on basicJewishDate",async()=>{e(T(l,4)).toEqual(new Date(2021,7,25))}),t("add dates on Date",async()=>{e(T(new Date(2022,3,17),3)).toEqual(new Date(2022,3,20))}),t("subtract dates from basicJewishDate",async()=>{e(E(l,4)).toEqual(new Date(2021,7,17))}),t("subtract dates from Date",async()=>{e(E(new Date(2022,3,17),3)).toEqual(new Date(2022,3,14))})}); //# sourceMappingURL=jewishDatesCore.test.js.map