UNPKG

bangla-date-utils

Version:

A utility package for converting and formatting dates in the Bangla calendar system with support for Bangla numerals.

83 lines (70 loc) 3.42 kB
import { formatGregorianToBangla, convertToBanglaDate, getBanglaDateDetails, BANGLA_MONTHS, BANGLA_SEASONS, BANGLA_WEEKDAYS, } from "./banglaDate" describe("Bangla Date Utils", () => { it("should format Gregorian date in Bangla language", () => { const dateString = "2025-05-12T10:30:00Z" // May 12, 2025 const result = formatGregorianToBangla(dateString, "medium") expect(result).toBe("১২ মে, ২০২৫") }) it("should format Gregorian date in Bangla language with full format", () => { const dateString = "2025-05-12T10:30:00Z" // May 12, 2025 (Monday) const result = formatGregorianToBangla(dateString, "full") expect(result).toContain("১২ মে, ২০২৫") // Note: The weekday test would depend on the actual day of the week for this date }) it("should format Gregorian date in Bangla language with short format", () => { const dateString = "2025-05-12T10:30:00Z" // May 12, 2025 const result = formatGregorianToBangla(dateString, "short") expect(result).toBe("১২/৫/২০২৫") }) it("should convert date string to Bangla calendar date", () => { const dateString = "2025-05-12T10:30:00Z" // May 12, 2025 expect(convertToBanglaDate(dateString, "medium")).toContain("বৈশাখ") }) it("should convert date string to Bangla calendar date with full format", () => { const dateString = "2025-04-14" // April 14, 2025 (Bangla New Year) const result = convertToBanglaDate(dateString, "full") expect(result).toContain("বৈশাখ") expect(result).toContain("গ্রীষ্ম") // Should include season }) it("should convert date string to Bangla calendar date with short format", () => { const dateString = "2025-04-14" // April 14, 2025 (Bangla New Year) const result = convertToBanglaDate(dateString, "short") expect(result).toMatch(/\d+\/\d+\/\d+/) // Should be in format like "১/১/১৪৩২" }) it("should get detailed Bangla calendar date information", () => { const dateString = "2025-04-14" // April 14, 2025 (Bangla New Year) const result = getBanglaDateDetails(dateString) expect(result.details.date).toBe(1) expect(result.details.month).toBe(1) expect(result.details.monthName).toBe("বৈশাখ") expect(result.details.season).toBe("গ্রীষ্ম") expect(result.formatted).toBe("১ বৈশাখ ১৪৩২") }) it("should throw error for invalid date string", () => { const invalidDateString = "not-a-date" expect(() => formatGregorianToBangla(invalidDateString)).toThrow() expect(() => convertToBanglaDate(invalidDateString)).toThrow() }) it("should have all Bangla months defined", () => { expect(BANGLA_MONTHS.length).toBe(12) expect(BANGLA_MONTHS[0]).toBe("বৈশাখ") expect(BANGLA_MONTHS[11]).toBe("চৈত্র") }) it("should have all Bangla seasons defined", () => { expect(BANGLA_SEASONS.length).toBe(6) expect(BANGLA_SEASONS[0]).toBe("গ্রীষ্ম") expect(BANGLA_SEASONS[5]).toBe("বসন্ত") }) it("should have all Bangla weekdays defined", () => { expect(BANGLA_WEEKDAYS.length).toBe(7) expect(BANGLA_WEEKDAYS[0]).toBe("রবিবার") expect(BANGLA_WEEKDAYS[6]).toBe("শনিবার") }) })