@terreno/ui 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +203 -0
- package/README.md +160 -0
- package/dist/Accordion.d.ts +3 -0
- package/dist/Accordion.js +30 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/ActionSheet.d.ts +169 -0
- package/dist/ActionSheet.js +637 -0
- package/dist/ActionSheet.js.map +1 -0
- package/dist/AddressField.d.ts +3 -0
- package/dist/AddressField.js +18 -0
- package/dist/AddressField.js.map +1 -0
- package/dist/Avatar.d.ts +3 -0
- package/dist/Avatar.js +189 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Badge.d.ts +3 -0
- package/dist/Badge.js +100 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Banner.d.ts +4 -0
- package/dist/Banner.js +103 -0
- package/dist/Banner.js.map +1 -0
- package/dist/Body.d.ts +3 -0
- package/dist/Body.js +17 -0
- package/dist/Body.js.map +1 -0
- package/dist/BooleanField.d.ts +3 -0
- package/dist/BooleanField.js +89 -0
- package/dist/BooleanField.js.map +1 -0
- package/dist/Box.d.ts +3 -0
- package/dist/Box.js +289 -0
- package/dist/Box.js.map +1 -0
- package/dist/Button.d.ts +3 -0
- package/dist/Button.js +105 -0
- package/dist/Button.js.map +1 -0
- package/dist/Card.d.ts +2 -0
- package/dist/Card.js +18 -0
- package/dist/Card.js.map +1 -0
- package/dist/CheckBox.d.ts +3 -0
- package/dist/CheckBox.js +28 -0
- package/dist/CheckBox.js.map +1 -0
- package/dist/Common.d.ts +2325 -0
- package/dist/Common.js +47 -0
- package/dist/Common.js.map +1 -0
- package/dist/CommonIconTypes.d.ts +3 -0
- package/dist/CommonIconTypes.js +2 -0
- package/dist/CommonIconTypes.js.map +1 -0
- package/dist/Constants.d.ts +12685 -0
- package/dist/Constants.js +3310 -0
- package/dist/Constants.js.map +1 -0
- package/dist/CustomSelectField.d.ts +3 -0
- package/dist/CustomSelectField.js +59 -0
- package/dist/CustomSelectField.js.map +1 -0
- package/dist/DataTable.d.ts +3 -0
- package/dist/DataTable.js +190 -0
- package/dist/DataTable.js.map +1 -0
- package/dist/DateTimeActionSheet.d.ts +2 -0
- package/dist/DateTimeActionSheet.js +270 -0
- package/dist/DateTimeActionSheet.js.map +1 -0
- package/dist/DateTimeField.d.ts +3 -0
- package/dist/DateTimeField.js +514 -0
- package/dist/DateTimeField.js.map +1 -0
- package/dist/DateUtilities.d.ts +57 -0
- package/dist/DateUtilities.js +308 -0
- package/dist/DateUtilities.js.map +1 -0
- package/dist/DecimalRangeActionSheet.d.ts +6 -0
- package/dist/DecimalRangeActionSheet.js +45 -0
- package/dist/DecimalRangeActionSheet.js.map +1 -0
- package/dist/DismissButton.d.ts +3 -0
- package/dist/DismissButton.js +12 -0
- package/dist/DismissButton.js.map +1 -0
- package/dist/EmailField.d.ts +3 -0
- package/dist/EmailField.js +48 -0
- package/dist/EmailField.js.map +1 -0
- package/dist/EmojiSelector.d.ts +113 -0
- package/dist/EmojiSelector.js +322 -0
- package/dist/EmojiSelector.js.map +1 -0
- package/dist/ErrorBoundary.d.ts +19 -0
- package/dist/ErrorBoundary.js +30 -0
- package/dist/ErrorBoundary.js.map +1 -0
- package/dist/ErrorPage.d.ts +6 -0
- package/dist/ErrorPage.js +15 -0
- package/dist/ErrorPage.js.map +1 -0
- package/dist/Field.d.ts +3 -0
- package/dist/Field.js +80 -0
- package/dist/Field.js.map +1 -0
- package/dist/FlatList.d.ts +2 -0
- package/dist/FlatList.js +3 -0
- package/dist/FlatList.js.map +1 -0
- package/dist/Heading.d.ts +3 -0
- package/dist/Heading.js +43 -0
- package/dist/Heading.js.map +1 -0
- package/dist/HeightActionSheet.d.ts +11 -0
- package/dist/HeightActionSheet.js +46 -0
- package/dist/HeightActionSheet.js.map +1 -0
- package/dist/Hyperlink.d.ts +30 -0
- package/dist/Hyperlink.js +144 -0
- package/dist/Hyperlink.js.map +1 -0
- package/dist/Icon.d.ts +3 -0
- package/dist/Icon.js +15 -0
- package/dist/Icon.js.map +1 -0
- package/dist/IconButton.d.ts +3 -0
- package/dist/IconButton.js +111 -0
- package/dist/IconButton.js.map +1 -0
- package/dist/Image.d.ts +8 -0
- package/dist/Image.js +37 -0
- package/dist/Image.js.map +1 -0
- package/dist/ImageBackground.d.ts +10 -0
- package/dist/ImageBackground.js +9 -0
- package/dist/ImageBackground.js.map +1 -0
- package/dist/InfoModalIcon.d.ts +3 -0
- package/dist/InfoModalIcon.js +10 -0
- package/dist/InfoModalIcon.js.map +1 -0
- package/dist/InfoTooltipButton.d.ts +3 -0
- package/dist/InfoTooltipButton.js +6 -0
- package/dist/InfoTooltipButton.js.map +1 -0
- package/dist/Link.d.ts +3 -0
- package/dist/Link.js +10 -0
- package/dist/Link.js.map +1 -0
- package/dist/MarkdownView.d.ts +5 -0
- package/dist/MarkdownView.js +44 -0
- package/dist/MarkdownView.js.map +1 -0
- package/dist/MediaQuery.d.ts +4 -0
- package/dist/MediaQuery.js +52 -0
- package/dist/MediaQuery.js.map +1 -0
- package/dist/MobileAddressAutoComplete.d.ts +2 -0
- package/dist/MobileAddressAutoComplete.js +54 -0
- package/dist/MobileAddressAutoComplete.js.map +1 -0
- package/dist/Modal.d.ts +3 -0
- package/dist/Modal.js +127 -0
- package/dist/Modal.js.map +1 -0
- package/dist/ModalSheet.d.ts +6 -0
- package/dist/ModalSheet.js +42 -0
- package/dist/ModalSheet.js.map +1 -0
- package/dist/MultiselectField.d.ts +3 -0
- package/dist/MultiselectField.js +45 -0
- package/dist/MultiselectField.js.map +1 -0
- package/dist/NumberField.d.ts +3 -0
- package/dist/NumberField.js +60 -0
- package/dist/NumberField.js.map +1 -0
- package/dist/NumberPickerActionSheet.d.ts +7 -0
- package/dist/NumberPickerActionSheet.js +22 -0
- package/dist/NumberPickerActionSheet.js.map +1 -0
- package/dist/OpenAPIContext.d.ts +4 -0
- package/dist/OpenAPIContext.js +53 -0
- package/dist/OpenAPIContext.js.map +1 -0
- package/dist/Page.d.ts +7 -0
- package/dist/Page.js +24 -0
- package/dist/Page.js.map +1 -0
- package/dist/Pagination.d.ts +3 -0
- package/dist/Pagination.js +106 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/PasswordField.d.ts +2 -0
- package/dist/PasswordField.js +6 -0
- package/dist/PasswordField.js.map +1 -0
- package/dist/Permissions.d.ts +2 -0
- package/dist/Permissions.js +35 -0
- package/dist/Permissions.js.map +1 -0
- package/dist/PhoneNumberField.d.ts +3 -0
- package/dist/PhoneNumberField.js +83 -0
- package/dist/PhoneNumberField.js.map +1 -0
- package/dist/PickerSelect.d.ts +46 -0
- package/dist/PickerSelect.js +306 -0
- package/dist/PickerSelect.js.map +1 -0
- package/dist/Radio.d.ts +3 -0
- package/dist/Radio.js +21 -0
- package/dist/Radio.js.map +1 -0
- package/dist/RadioField.d.ts +3 -0
- package/dist/RadioField.js +16 -0
- package/dist/RadioField.js.map +1 -0
- package/dist/ScrollView.d.ts +2 -0
- package/dist/ScrollView.js +3 -0
- package/dist/ScrollView.js.map +1 -0
- package/dist/SectionDivider.d.ts +2 -0
- package/dist/SectionDivider.js +12 -0
- package/dist/SectionDivider.js.map +1 -0
- package/dist/SegmentedControl.d.ts +3 -0
- package/dist/SegmentedControl.js +65 -0
- package/dist/SegmentedControl.js.map +1 -0
- package/dist/SelectBadge.d.ts +3 -0
- package/dist/SelectBadge.js +166 -0
- package/dist/SelectBadge.js.map +1 -0
- package/dist/SelectField.d.ts +3 -0
- package/dist/SelectField.js +16 -0
- package/dist/SelectField.js.map +1 -0
- package/dist/SideDrawer.d.ts +3 -0
- package/dist/SideDrawer.js +32 -0
- package/dist/SideDrawer.js.map +1 -0
- package/dist/Signature.d.ts +8 -0
- package/dist/Signature.js +21 -0
- package/dist/Signature.js.map +1 -0
- package/dist/Signature.native.d.ts +8 -0
- package/dist/Signature.native.js +26 -0
- package/dist/Signature.native.js.map +1 -0
- package/dist/SignatureField.d.ts +3 -0
- package/dist/SignatureField.js +42 -0
- package/dist/SignatureField.js.map +1 -0
- package/dist/Slider.d.ts +3 -0
- package/dist/Slider.js +78 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Spinner.d.ts +3 -0
- package/dist/Spinner.js +33 -0
- package/dist/Spinner.js.map +1 -0
- package/dist/SplitPage.d.ts +2 -0
- package/dist/SplitPage.js +139 -0
- package/dist/SplitPage.js.map +1 -0
- package/dist/SplitPage.native.d.ts +2 -0
- package/dist/SplitPage.native.js +75 -0
- package/dist/SplitPage.native.js.map +1 -0
- package/dist/TapToEdit.d.ts +4 -0
- package/dist/TapToEdit.js +170 -0
- package/dist/TapToEdit.js.map +1 -0
- package/dist/TerrenoProvider.d.ts +6 -0
- package/dist/TerrenoProvider.js +10 -0
- package/dist/TerrenoProvider.js.map +1 -0
- package/dist/Text.d.ts +3 -0
- package/dist/Text.js +95 -0
- package/dist/Text.js.map +1 -0
- package/dist/TextArea.d.ts +3 -0
- package/dist/TextArea.js +6 -0
- package/dist/TextArea.js.map +1 -0
- package/dist/TextField.d.ts +3 -0
- package/dist/TextField.js +144 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextFieldNumberActionSheet.d.ts +7 -0
- package/dist/TextFieldNumberActionSheet.js +20 -0
- package/dist/TextFieldNumberActionSheet.js.map +1 -0
- package/dist/Theme.d.ts +96 -0
- package/dist/Theme.js +213 -0
- package/dist/Theme.js.map +1 -0
- package/dist/TimezonePicker.d.ts +11 -0
- package/dist/TimezonePicker.js +27 -0
- package/dist/TimezonePicker.js.map +1 -0
- package/dist/Toast.d.ts +23 -0
- package/dist/Toast.js +157 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Tooltip.d.ts +3 -0
- package/dist/Tooltip.js +289 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/UnifiedAddressAutoComplete.d.ts +2 -0
- package/dist/UnifiedAddressAutoComplete.js +23 -0
- package/dist/UnifiedAddressAutoComplete.js.map +1 -0
- package/dist/Unifier.d.ts +43 -0
- package/dist/Unifier.js +154 -0
- package/dist/Unifier.js.map +1 -0
- package/dist/Utilities.d.ts +56 -0
- package/dist/Utilities.js +193 -0
- package/dist/Utilities.js.map +1 -0
- package/dist/WebAddressAutocomplete.d.ts +3 -0
- package/dist/WebAddressAutocomplete.js +61 -0
- package/dist/WebAddressAutocomplete.js.map +1 -0
- package/dist/fieldElements/FieldError.d.ts +6 -0
- package/dist/fieldElements/FieldError.js +9 -0
- package/dist/fieldElements/FieldError.js.map +1 -0
- package/dist/fieldElements/FieldHelperText.d.ts +6 -0
- package/dist/fieldElements/FieldHelperText.js +8 -0
- package/dist/fieldElements/FieldHelperText.js.map +1 -0
- package/dist/fieldElements/FieldTitle.d.ts +6 -0
- package/dist/fieldElements/FieldTitle.js +16 -0
- package/dist/fieldElements/FieldTitle.js.map +1 -0
- package/dist/fieldElements/index.d.ts +3 -0
- package/dist/fieldElements/index.js +4 -0
- package/dist/fieldElements/index.js.map +1 -0
- package/dist/icons/MobileIcon.d.ts +2 -0
- package/dist/icons/MobileIcon.js +18 -0
- package/dist/icons/MobileIcon.js.map +1 -0
- package/dist/icons/OfflineIcon.d.ts +2 -0
- package/dist/icons/OfflineIcon.js +18 -0
- package/dist/icons/OfflineIcon.js.map +1 -0
- package/dist/icons/OnlineIcon.d.ts +2 -0
- package/dist/icons/OnlineIcon.js +19 -0
- package/dist/icons/OnlineIcon.js.map +1 -0
- package/dist/icons/OutOfficeIcon.d.ts +2 -0
- package/dist/icons/OutOfficeIcon.js +18 -0
- package/dist/icons/OutOfficeIcon.js.map +1 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.js +5 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +1328 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/table/Table.d.ts +3 -0
- package/dist/table/Table.js +53 -0
- package/dist/table/Table.js.map +1 -0
- package/dist/table/TableBadge.d.ts +6 -0
- package/dist/table/TableBadge.js +23 -0
- package/dist/table/TableBadge.js.map +1 -0
- package/dist/table/TableBoolean.d.ts +6 -0
- package/dist/table/TableBoolean.js +37 -0
- package/dist/table/TableBoolean.js.map +1 -0
- package/dist/table/TableDate.d.ts +3 -0
- package/dist/table/TableDate.js +27 -0
- package/dist/table/TableDate.js.map +1 -0
- package/dist/table/TableHeader.d.ts +6 -0
- package/dist/table/TableHeader.js +10 -0
- package/dist/table/TableHeader.js.map +1 -0
- package/dist/table/TableHeaderCell.d.ts +6 -0
- package/dist/table/TableHeaderCell.js +54 -0
- package/dist/table/TableHeaderCell.js.map +1 -0
- package/dist/table/TableIconButton.d.ts +3 -0
- package/dist/table/TableIconButton.js +39 -0
- package/dist/table/TableIconButton.js.map +1 -0
- package/dist/table/TableNumber.d.ts +3 -0
- package/dist/table/TableNumber.js +18 -0
- package/dist/table/TableNumber.js.map +1 -0
- package/dist/table/TableRow.d.ts +6 -0
- package/dist/table/TableRow.js +22 -0
- package/dist/table/TableRow.js.map +1 -0
- package/dist/table/TableText.d.ts +3 -0
- package/dist/table/TableText.js +18 -0
- package/dist/table/TableText.js.map +1 -0
- package/dist/table/TableTitle.d.ts +3 -0
- package/dist/table/TableTitle.js +21 -0
- package/dist/table/TableTitle.js.map +1 -0
- package/dist/table/tableContext.d.ts +5 -0
- package/dist/table/tableContext.js +38 -0
- package/dist/table/tableContext.js.map +1 -0
- package/dist/useStoredState.d.ts +1 -0
- package/dist/useStoredState.js +49 -0
- package/dist/useStoredState.js.map +1 -0
- package/package.json +123 -0
- package/src/Accordion.test.tsx +104 -0
- package/src/Accordion.tsx +81 -0
- package/src/ActionSheet.tsx +881 -0
- package/src/AddressField.test.tsx +120 -0
- package/src/AddressField.tsx +122 -0
- package/src/Avatar.test.tsx +163 -0
- package/src/Avatar.tsx +298 -0
- package/src/Badge.test.tsx +116 -0
- package/src/Badge.tsx +136 -0
- package/src/Banner.tsx +200 -0
- package/src/Body.tsx +34 -0
- package/src/BooleanField.tsx +141 -0
- package/src/Box.test.tsx +662 -0
- package/src/Box.tsx +368 -0
- package/src/Button.tsx +196 -0
- package/src/Card.tsx +19 -0
- package/src/CheckBox.tsx +45 -0
- package/src/Common.ts +2787 -0
- package/src/CommonIconTypes.ts +2030 -0
- package/src/Constants.ts +3311 -0
- package/src/CustomSelectField.tsx +115 -0
- package/src/DataTable.tsx +674 -0
- package/src/DateTimeActionSheet.tsx +559 -0
- package/src/DateTimeField.test.tsx +393 -0
- package/src/DateTimeField.tsx +777 -0
- package/src/DateUtilities.test.ts +440 -0
- package/src/DateUtilities.tsx +370 -0
- package/src/DecimalRangeActionSheet.tsx +85 -0
- package/src/DismissButton.tsx +31 -0
- package/src/EmailField.tsx +66 -0
- package/src/EmojiSelector.test.tsx +61 -0
- package/src/EmojiSelector.tsx +510 -0
- package/src/ErrorBoundary.tsx +37 -0
- package/src/ErrorPage.tsx +41 -0
- package/src/Field.tsx +101 -0
- package/src/FlatList.tsx +2 -0
- package/src/Heading.tsx +66 -0
- package/src/HeightActionSheet.tsx +91 -0
- package/src/Hyperlink.tsx +179 -0
- package/src/Icon.tsx +36 -0
- package/src/IconButton.tsx +217 -0
- package/src/Image.tsx +51 -0
- package/src/ImageBackground.tsx +14 -0
- package/src/InfoModalIcon.tsx +42 -0
- package/src/InfoTooltipButton.tsx +16 -0
- package/src/Link.tsx +22 -0
- package/src/MarkdownView.tsx +67 -0
- package/src/MediaQuery.ts +46 -0
- package/src/MobileAddressAutoComplete.tsx +126 -0
- package/src/Modal.tsx +300 -0
- package/src/ModalSheet.tsx +58 -0
- package/src/MultiselectField.tsx +112 -0
- package/src/NumberField.tsx +67 -0
- package/src/NumberPickerActionSheet.tsx +51 -0
- package/src/OpenAPIContext.tsx +74 -0
- package/src/Page.tsx +105 -0
- package/src/Pagination.tsx +169 -0
- package/src/PasswordField.tsx +7 -0
- package/src/Permissions.ts +43 -0
- package/src/PhoneNumberField.tsx +109 -0
- package/src/PickerSelect.tsx +571 -0
- package/src/Radio.tsx +33 -0
- package/src/RadioField.tsx +43 -0
- package/src/ScrollView.tsx +2 -0
- package/src/SectionDivider.tsx +18 -0
- package/src/SegmentedControl.tsx +126 -0
- package/src/SelectBadge.tsx +280 -0
- package/src/SelectField.tsx +41 -0
- package/src/SideDrawer.tsx +56 -0
- package/src/Signature.native.tsx +57 -0
- package/src/Signature.tsx +44 -0
- package/src/SignatureField.tsx +92 -0
- package/src/Slider.tsx +199 -0
- package/src/Spinner.tsx +35 -0
- package/src/SplitPage.native.tsx +163 -0
- package/src/SplitPage.tsx +304 -0
- package/src/TapToEdit.tsx +292 -0
- package/src/TerrenoProvider.tsx +31 -0
- package/src/Text.tsx +123 -0
- package/src/TextArea.test.tsx +255 -0
- package/src/TextArea.tsx +8 -0
- package/src/TextField.test.tsx +487 -0
- package/src/TextField.tsx +260 -0
- package/src/TextFieldNumberActionSheet.tsx +46 -0
- package/src/Theme.tsx +248 -0
- package/src/TimezonePicker.tsx +45 -0
- package/src/Toast.tsx +234 -0
- package/src/Tooltip.tsx +407 -0
- package/src/UnifiedAddressAutoComplete.tsx +66 -0
- package/src/Unifier.ts +172 -0
- package/src/Utilities.tsx +329 -0
- package/src/WebAddressAutocomplete.tsx +84 -0
- package/src/__snapshots__/Accordion.test.tsx.snap +126 -0
- package/src/__snapshots__/AddressField.test.tsx.snap +1197 -0
- package/src/__snapshots__/Avatar.test.tsx.snap +57 -0
- package/src/__snapshots__/Badge.test.tsx.snap +55 -0
- package/src/__snapshots__/Box.test.tsx.snap +162 -0
- package/src/__snapshots__/EmojiSelector.test.tsx.snap +422 -0
- package/src/__snapshots__/TextArea.test.tsx.snap +521 -0
- package/src/__snapshots__/TextField.test.tsx.snap +569 -0
- package/src/bunSetup.ts +1235 -0
- package/src/fieldElements/FieldError.tsx +24 -0
- package/src/fieldElements/FieldHelperText.tsx +20 -0
- package/src/fieldElements/FieldTitle.tsx +31 -0
- package/src/fieldElements/index.tsx +3 -0
- package/src/icons/MobileIcon.tsx +40 -0
- package/src/icons/OfflineIcon.tsx +37 -0
- package/src/icons/OnlineIcon.tsx +39 -0
- package/src/icons/OutOfficeIcon.tsx +36 -0
- package/src/icons/index.ts +4 -0
- package/src/index.tsx +1375 -0
- package/src/polyfill.d.ts +11 -0
- package/src/table/Table.tsx +109 -0
- package/src/table/TableBadge.tsx +46 -0
- package/src/table/TableBoolean.tsx +70 -0
- package/src/table/TableDate.tsx +38 -0
- package/src/table/TableHeader.tsx +20 -0
- package/src/table/TableHeaderCell.tsx +94 -0
- package/src/table/TableIconButton.tsx +61 -0
- package/src/table/TableNumber.tsx +29 -0
- package/src/table/TableRow.tsx +67 -0
- package/src/table/TableText.tsx +29 -0
- package/src/table/TableTitle.tsx +31 -0
- package/src/table/tableContext.tsx +67 -0
- package/src/test-utils.tsx +27 -0
- package/src/types/react-native-swiper-flatlist.d.ts +56 -0
- package/src/useStoredState.test.tsx +143 -0
- package/src/useStoredState.ts +56 -0
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
import {beforeEach, describe, expect, it, mock} from "bun:test";
|
|
2
|
+
import {
|
|
3
|
+
humanDate,
|
|
4
|
+
humanDateAndTime,
|
|
5
|
+
printDate,
|
|
6
|
+
printDateAndTime,
|
|
7
|
+
printDateRange,
|
|
8
|
+
printOnlyDate,
|
|
9
|
+
printSince,
|
|
10
|
+
printTime,
|
|
11
|
+
} from "./DateUtilities";
|
|
12
|
+
|
|
13
|
+
describe("DateUtilities", () => {
|
|
14
|
+
// Store original Date.now
|
|
15
|
+
const _originalDateNow = Date.now;
|
|
16
|
+
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
// Mock Date.now to return a fixed date: 2022-12-24T12:00:00.000Z
|
|
19
|
+
Date.now = mock(() => new Date("2022-12-24T12:00:00.000Z").getTime());
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// Restore Date.now after tests are done
|
|
23
|
+
// Note: In Bun, we don't have afterAll/afterEach cleanup for Date.now,
|
|
24
|
+
// but each test file runs in isolation so it should be fine
|
|
25
|
+
|
|
26
|
+
describe("humanDate", () => {
|
|
27
|
+
it("should return invalid date if date is undefined", () => {
|
|
28
|
+
expect(() => humanDate(undefined as any, {timezone: "America/New_York"})).toThrow(
|
|
29
|
+
"humanDate: Passed undefined"
|
|
30
|
+
);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("should throw an error if date is invalid", () => {
|
|
34
|
+
expect(() => humanDate("invalid date")).toThrow("humanDate: Invalid date: invalid date");
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it("should return 'Tomorrow' if the date is tomorrow", () => {
|
|
38
|
+
expect(humanDate("2022-12-25T12:00:00.000Z")).toBe("Tomorrow");
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it("should return the time if the date is today", () => {
|
|
42
|
+
expect(humanDate("2022-12-24T12:00:00.000Z")).toBe("7:00 AM");
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("should return the date if the date is today and don't show date is true", () => {
|
|
46
|
+
expect(humanDate("2022-12-24T12:00:00.000Z", {dontShowTime: true})).toBe("Today");
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("should return 'Yesterday' if the date is yesterday", () => {
|
|
50
|
+
expect(humanDate("2022-12-23T12:00:00.000Z")).toBe("Yesterday");
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("should return the day of the week if the date is within the last week", () => {
|
|
54
|
+
expect(humanDate("2022-12-18T12:00:00.000Z")).toBe("Sunday");
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it("should return the month and day if the date is within the current year", () => {
|
|
58
|
+
expect(humanDate("2022-06-19T12:00:00.000Z")).toBe("Jun 19");
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("should return the month, day, and year if the date is not within the current year", () => {
|
|
62
|
+
expect(humanDate("2023-12-25T12:00:00.000Z")).toBe("Dec 25, 2023");
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
it("should use the timezone properly around the day boundary", () => {
|
|
66
|
+
// Today is 2022-12-24T05:00:00.000 to 2022-12-25T04:59:59.999
|
|
67
|
+
expect(humanDate("2022-12-24T04:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
68
|
+
"Yesterday"
|
|
69
|
+
);
|
|
70
|
+
expect(humanDate("2022-12-24T05:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
71
|
+
"12:00 AM"
|
|
72
|
+
);
|
|
73
|
+
expect(humanDate("2022-12-25T04:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
74
|
+
"11:00 PM"
|
|
75
|
+
);
|
|
76
|
+
expect(humanDate("2022-12-25T05:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
77
|
+
"Tomorrow"
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// Switch to Chicago
|
|
81
|
+
expect(humanDate("2022-12-24T04:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
82
|
+
"Yesterday"
|
|
83
|
+
);
|
|
84
|
+
// Still yesterday in Chicago
|
|
85
|
+
expect(humanDate("2022-12-24T05:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
86
|
+
"Yesterday"
|
|
87
|
+
);
|
|
88
|
+
expect(humanDate("2022-12-24T06:00:00.000Z", {timezone: "America/Chicago"})).toBe("12:00 AM");
|
|
89
|
+
|
|
90
|
+
// 5/6am UTC is 11/12pm in Chicago
|
|
91
|
+
expect(humanDate("2022-12-25T05:00:00.000Z", {timezone: "America/Chicago"})).toBe("11:00 PM");
|
|
92
|
+
expect(humanDate("2022-12-25T07:00:00.000Z", {timezone: "America/Chicago"})).toBe("Tomorrow");
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
describe("humanDateTime", () => {
|
|
97
|
+
it("should return invalid date if date is undefined", () => {
|
|
98
|
+
expect(() => humanDateAndTime(undefined as any, {timezone: "America/New_York"})).toThrow(
|
|
99
|
+
"humanDateAndTime: Passed undefined"
|
|
100
|
+
);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it("should throw an error if date is invalid", () => {
|
|
104
|
+
expect(() => humanDateAndTime("invalid date")).toThrow(
|
|
105
|
+
"humanDateAndTime: Invalid date: invalid date"
|
|
106
|
+
);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("should return 'Tomorrow' if the date is tomorrow", () => {
|
|
110
|
+
expect(humanDateAndTime("2022-12-25T12:00:00.000Z")).toBe("Tomorrow 7:00 AM EST");
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it("should return the time if the date is today", () => {
|
|
114
|
+
expect(humanDateAndTime("2022-12-24T12:00:00.000Z")).toBe("7:00 AM EST");
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it("should return 'Yesterday' if the date is yesterday", () => {
|
|
118
|
+
expect(humanDateAndTime("2022-12-23T12:00:00.000Z")).toBe("Yesterday 7:00 AM EST");
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it("should return the day of the week if the date is within the last week", () => {
|
|
122
|
+
expect(humanDateAndTime("2022-12-18T12:00:00.000Z")).toBe("Sunday 7:00 AM EST");
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it("should return the month and day if the date is within the current year", () => {
|
|
126
|
+
expect(humanDateAndTime("2022-06-19T12:00:00.000Z")).toBe("Jun 19 8:00 AM EDT");
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
it("should return the month, day, and year if the date is not within the current year", () => {
|
|
130
|
+
expect(humanDateAndTime("2023-12-25T12:00:00.000Z")).toBe("Dec 25, 2023 7:00 AM EST");
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("should use the timezone properly around the day boundary", () => {
|
|
134
|
+
// Today is 2022-12-24T05:00:00.000 to 2022-12-25T04:59:59.999
|
|
135
|
+
expect(humanDateAndTime("2022-12-24T04:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
136
|
+
"Yesterday 11:00 PM EST"
|
|
137
|
+
);
|
|
138
|
+
expect(humanDateAndTime("2022-12-24T05:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
139
|
+
"12:00 AM EST"
|
|
140
|
+
);
|
|
141
|
+
expect(humanDateAndTime("2022-12-25T04:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
142
|
+
"11:00 PM EST"
|
|
143
|
+
);
|
|
144
|
+
expect(humanDateAndTime("2022-12-25T05:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
145
|
+
"Tomorrow 12:00 AM EST"
|
|
146
|
+
);
|
|
147
|
+
|
|
148
|
+
// Switch to Chicago
|
|
149
|
+
expect(humanDateAndTime("2022-12-24T04:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
150
|
+
"Yesterday 10:00 PM CST"
|
|
151
|
+
);
|
|
152
|
+
// Still yesterday in Chicago
|
|
153
|
+
expect(humanDateAndTime("2022-12-24T05:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
154
|
+
"Yesterday 11:00 PM CST"
|
|
155
|
+
);
|
|
156
|
+
expect(humanDateAndTime("2022-12-24T06:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
157
|
+
"12:00 AM CST"
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
// 5/6am UTC is 11/12pm in Chicago
|
|
161
|
+
expect(humanDateAndTime("2022-12-25T05:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
162
|
+
"11:00 PM CST"
|
|
163
|
+
);
|
|
164
|
+
expect(humanDateAndTime("2022-12-25T06:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
165
|
+
"Tomorrow 12:00 AM CST"
|
|
166
|
+
);
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it("should show the timezone properly around the day boundary", () => {
|
|
170
|
+
// Today is 2022-12-24T05:00:00.000 to 2022-12-25T04:59:59.999
|
|
171
|
+
expect(
|
|
172
|
+
humanDateAndTime("2022-12-24T04:00:00.000Z", {
|
|
173
|
+
showTimezone: true,
|
|
174
|
+
timezone: "America/New_York",
|
|
175
|
+
})
|
|
176
|
+
).toBe("Yesterday 11:00 PM EST");
|
|
177
|
+
expect(
|
|
178
|
+
humanDateAndTime("2022-12-24T05:00:00.000Z", {
|
|
179
|
+
showTimezone: true,
|
|
180
|
+
timezone: "America/New_York",
|
|
181
|
+
})
|
|
182
|
+
).toBe("12:00 AM EST");
|
|
183
|
+
expect(
|
|
184
|
+
humanDateAndTime("2022-12-25T04:00:00.000Z", {
|
|
185
|
+
showTimezone: true,
|
|
186
|
+
timezone: "America/New_York",
|
|
187
|
+
})
|
|
188
|
+
).toBe("11:00 PM EST");
|
|
189
|
+
expect(
|
|
190
|
+
humanDateAndTime("2022-12-25T05:00:00.000Z", {
|
|
191
|
+
showTimezone: true,
|
|
192
|
+
timezone: "America/New_York",
|
|
193
|
+
})
|
|
194
|
+
).toBe("Tomorrow 12:00 AM EST");
|
|
195
|
+
|
|
196
|
+
// Switch to Chicago
|
|
197
|
+
expect(
|
|
198
|
+
humanDateAndTime("2022-12-24T04:00:00.000Z", {
|
|
199
|
+
showTimezone: true,
|
|
200
|
+
timezone: "America/Chicago",
|
|
201
|
+
})
|
|
202
|
+
).toBe("Yesterday 10:00 PM CST");
|
|
203
|
+
// Still yesterday in Chicago
|
|
204
|
+
expect(
|
|
205
|
+
humanDateAndTime("2022-12-24T05:00:00.000Z", {
|
|
206
|
+
showTimezone: true,
|
|
207
|
+
timezone: "America/Chicago",
|
|
208
|
+
})
|
|
209
|
+
).toBe("Yesterday 11:00 PM CST");
|
|
210
|
+
expect(
|
|
211
|
+
humanDateAndTime("2022-12-24T06:00:00.000Z", {
|
|
212
|
+
showTimezone: true,
|
|
213
|
+
timezone: "America/Chicago",
|
|
214
|
+
})
|
|
215
|
+
).toBe("12:00 AM CST");
|
|
216
|
+
|
|
217
|
+
// 5/6am UTC is 11/12pm in Chicago
|
|
218
|
+
expect(
|
|
219
|
+
humanDateAndTime("2022-12-25T05:00:00.000Z", {
|
|
220
|
+
showTimezone: true,
|
|
221
|
+
timezone: "America/Chicago",
|
|
222
|
+
})
|
|
223
|
+
).toBe("11:00 PM CST");
|
|
224
|
+
expect(
|
|
225
|
+
humanDateAndTime("2022-12-25T06:00:00.000Z", {
|
|
226
|
+
showTimezone: true,
|
|
227
|
+
timezone: "America/Chicago",
|
|
228
|
+
})
|
|
229
|
+
).toBe("Tomorrow 12:00 AM CST");
|
|
230
|
+
});
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
describe("printDate", () => {
|
|
234
|
+
it("should throw an error if date is undefined", () => {
|
|
235
|
+
expect(printDate(undefined as any)).toBe("Invalid Date");
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it("should throw an error if date is invalid", () => {
|
|
239
|
+
expect(() => printDate("invalid date")).toThrow("printDate: Invalid date: invalid date");
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it("should return the date in the default format", () => {
|
|
243
|
+
expect(printDate("2022-12-24T12:00:00.000Z")).toBe("12/24/2022");
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it("handles timezones correctly", () => {
|
|
247
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {})).toBe("12/24/2022");
|
|
248
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {timezone: "America/New_York"})).toBe(
|
|
249
|
+
"12/24/2022"
|
|
250
|
+
);
|
|
251
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {timezone: "America/Chicago"})).toBe(
|
|
252
|
+
"12/24/2022"
|
|
253
|
+
);
|
|
254
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {timezone: "America/Denver"})).toBe(
|
|
255
|
+
"12/24/2022"
|
|
256
|
+
);
|
|
257
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {timezone: "America/Los_Angeles"})).toBe(
|
|
258
|
+
"12/24/2022"
|
|
259
|
+
);
|
|
260
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {timezone: "UTC"})).toBe("12/24/2022");
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
it("should ignore time if ignoreTime is true", () => {
|
|
264
|
+
expect(printDate("2022-12-24T12:00:00.000Z", {ignoreTime: true})).toBe("12/24/2022");
|
|
265
|
+
expect(printDate("2022-12-24T00:00:00.000Z", {ignoreTime: true})).toBe("12/24/2022");
|
|
266
|
+
expect(printDate("2022-12-24T23:59:59.999Z", {ignoreTime: true})).toBe("12/24/2022");
|
|
267
|
+
expect(printDate("2022-12-24T23:59:59.999Z", {ignoreTime: true})).toBe("12/24/2022");
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
describe("printOnlyDate", () => {
|
|
272
|
+
it("should print invalid if no date and no default", () => {
|
|
273
|
+
expect(printOnlyDate(undefined as any)).toBe("Invalid Date");
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
it("should print default if no date and default", () => {
|
|
277
|
+
expect(printOnlyDate(undefined as any, {defaultValue: "default"})).toBe("default");
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it("should print the date in the default format", () => {
|
|
281
|
+
// This should be a warning but still work.
|
|
282
|
+
expect(printOnlyDate("2022-12-24T23:00:00.000Z")).toBe("12/24/2022");
|
|
283
|
+
// This should print 12/24 even though it's 12/23 in EST.
|
|
284
|
+
expect(printOnlyDate("2022-12-24T00:00:00.000Z")).toBe("12/24/2022");
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
describe("printDateTime", () => {
|
|
289
|
+
it("should return invalid date if date is undefined", () => {
|
|
290
|
+
expect(printDateAndTime(undefined as any, {timezone: "America/New_York"})).toBe(
|
|
291
|
+
"Invalid Datetime"
|
|
292
|
+
);
|
|
293
|
+
});
|
|
294
|
+
|
|
295
|
+
it("should throw an error if date is invalid", () => {
|
|
296
|
+
expect(() => printDateAndTime("invalid date")).toThrow(
|
|
297
|
+
"printDateAndTime: Invalid date: invalid date"
|
|
298
|
+
);
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
it("should return the date in the default format", () => {
|
|
302
|
+
expect(printDateAndTime("2022-12-24T12:00:00.000Z")).toBe("12/24/2022, 7:00 AM");
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
it("shows timezones correctly", () => {
|
|
306
|
+
expect(printDateAndTime("2022-12-24T12:00:00.000Z", {showTimezone: true})).toBe(
|
|
307
|
+
"12/24/2022, 7:00 AM EST"
|
|
308
|
+
);
|
|
309
|
+
expect(
|
|
310
|
+
printDateAndTime("2022-12-24T12:00:00.000Z", {
|
|
311
|
+
showTimezone: true,
|
|
312
|
+
timezone: "America/New_York",
|
|
313
|
+
})
|
|
314
|
+
).toBe("12/24/2022, 7:00 AM EST");
|
|
315
|
+
expect(
|
|
316
|
+
printDateAndTime("2022-12-24T12:00:00.000Z", {
|
|
317
|
+
showTimezone: true,
|
|
318
|
+
timezone: "America/Chicago",
|
|
319
|
+
})
|
|
320
|
+
).toBe("12/24/2022, 6:00 AM CST");
|
|
321
|
+
expect(
|
|
322
|
+
printDateAndTime("2022-12-24T12:00:00.000Z", {
|
|
323
|
+
showTimezone: true,
|
|
324
|
+
timezone: "America/Denver",
|
|
325
|
+
})
|
|
326
|
+
).toBe("12/24/2022, 5:00 AM MST");
|
|
327
|
+
expect(
|
|
328
|
+
printDateAndTime("2022-12-24T12:00:00.000Z", {
|
|
329
|
+
showTimezone: true,
|
|
330
|
+
timezone: "America/Los_Angeles",
|
|
331
|
+
})
|
|
332
|
+
).toBe("12/24/2022, 4:00 AM PST");
|
|
333
|
+
// UTC does a weird thing with a non breaking space between the AM/PM
|
|
334
|
+
expect(
|
|
335
|
+
printDateAndTime("2022-12-24T12:00:00.000Z", {showTimezone: true, timezone: "UTC"})
|
|
336
|
+
).toBe("12/24/2022, 12:00 PM UTC");
|
|
337
|
+
});
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
describe("printTime", () => {
|
|
341
|
+
it("should return invalid date if date is undefined", () => {
|
|
342
|
+
expect(printTime(undefined as any, {timezone: "America/New_York"})).toBe("Invalid Date");
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
it("should throw an error if date is invalid", () => {
|
|
346
|
+
expect(() => printTime("invalid date", {timezone: "America/New_York"})).toThrow(
|
|
347
|
+
"printTime: Invalid date: invalid date"
|
|
348
|
+
);
|
|
349
|
+
});
|
|
350
|
+
|
|
351
|
+
it("should throw an error with no timezone", () => {
|
|
352
|
+
expect(() => printTime("2022-12-24T12:00:00.000Z", {} as any)).toThrow(
|
|
353
|
+
"printTime: timezone is required"
|
|
354
|
+
);
|
|
355
|
+
});
|
|
356
|
+
|
|
357
|
+
it("should return the time in the default format", () => {
|
|
358
|
+
expect(printTime("2022-12-24T12:00:00.000Z", {timezone: "America/New_York"})).toBe("7:00 AM");
|
|
359
|
+
expect(printTime("2022-12-24T12:00:00.000-0400", {timezone: "America/New_York"})).toBe(
|
|
360
|
+
"11:00 AM"
|
|
361
|
+
);
|
|
362
|
+
});
|
|
363
|
+
|
|
364
|
+
it("should return the time in the default format", () => {
|
|
365
|
+
expect(printTime("2022-12-24T12:00:00.000Z", {timezone: "America/Chicago"})).toBe("6:00 AM");
|
|
366
|
+
expect(printTime("2022-12-24T12:00:00.000-0400", {timezone: "America/Chicago"})).toBe(
|
|
367
|
+
"10:00 AM"
|
|
368
|
+
);
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
|
|
372
|
+
describe("printDateRange", () => {
|
|
373
|
+
it("should print just dates if day is different", () => {
|
|
374
|
+
// 2022-12-24T12:00:00.000Z to 2022-12-25T12:00:00.000Z
|
|
375
|
+
expect(
|
|
376
|
+
printDateRange("2022-12-24T12:00:00.000Z", "2022-12-25T12:00:00.000Z", {
|
|
377
|
+
timezone: "America/New_York",
|
|
378
|
+
})
|
|
379
|
+
).toBe("12/24/2022 7:00 AM - 12/25/2022 7:00 AM EST");
|
|
380
|
+
});
|
|
381
|
+
|
|
382
|
+
it("should print dates and time if day is same with timezone", () => {
|
|
383
|
+
// 2022-12-24T12:00:00.000Z to 2022-12-24T18:00:00.000Z
|
|
384
|
+
expect(
|
|
385
|
+
printDateRange("2022-12-24T12:00:00.000Z", "2022-12-24T18:00:00.000Z", {
|
|
386
|
+
timezone: "America/New_York",
|
|
387
|
+
})
|
|
388
|
+
).toBe("12/24/2022 7:00 AM - 1:00 PM EST");
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
it("should hide timezone", () => {
|
|
392
|
+
// 2022-12-24T12:00:00.000Z to 2022-12-24T18:00:00.000Z
|
|
393
|
+
expect(
|
|
394
|
+
printDateRange("2022-12-24T12:00:00.000Z", "2022-12-24T18:00:00.000Z", {
|
|
395
|
+
showTimezone: false,
|
|
396
|
+
timezone: "America/New_York",
|
|
397
|
+
})
|
|
398
|
+
).toBe("12/24/2022 7:00 AM - 1:00 PM");
|
|
399
|
+
});
|
|
400
|
+
|
|
401
|
+
it("print only time", () => {
|
|
402
|
+
// 2022-12-24T12:00:00.000Z to 2022-12-24T18:00:00.000Z
|
|
403
|
+
expect(
|
|
404
|
+
printDateRange("2022-12-24T12:00:00.000Z", "2022-12-24T18:00:00.000Z", {
|
|
405
|
+
showTimezone: false,
|
|
406
|
+
timeOnly: true,
|
|
407
|
+
timezone: "America/New_York",
|
|
408
|
+
})
|
|
409
|
+
).toBe("7:00 AM - 1:00 PM");
|
|
410
|
+
});
|
|
411
|
+
});
|
|
412
|
+
|
|
413
|
+
describe("printSince", () => {
|
|
414
|
+
it("should print the days", () => {
|
|
415
|
+
// print since in days
|
|
416
|
+
expect(printSince("2022-12-23T11:00:00.000Z")).toBe("1 day ago");
|
|
417
|
+
expect(printSince("2022-12-22T11:10:01.000Z")).toBe("2 days ago");
|
|
418
|
+
// print without ago
|
|
419
|
+
expect(printSince("2022-12-22T11:10:01.000Z", {showAgo: false})).toBe("2 days");
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
it("should print the months", () => {
|
|
423
|
+
// print between 1 and 2 months
|
|
424
|
+
expect(printSince("2022-11-21T12:00:01.000Z")).toBe("32 days ago");
|
|
425
|
+
// print months
|
|
426
|
+
expect(printSince("2022-10-23T12:00:01.000Z")).toBe("2 months ago");
|
|
427
|
+
// print without ago
|
|
428
|
+
expect(printSince("2022-10-23T12:00:01.000Z", {showAgo: false})).toBe("2 months");
|
|
429
|
+
});
|
|
430
|
+
|
|
431
|
+
it("should print the years", () => {
|
|
432
|
+
// print years
|
|
433
|
+
expect(printSince("2021-12-23T11:00:00.000Z")).toBe("1 year ago");
|
|
434
|
+
// print multiple years
|
|
435
|
+
expect(printSince("2019-12-23T11:00:00.000Z")).toBe("3 years ago");
|
|
436
|
+
// print without ago
|
|
437
|
+
expect(printSince("2019-12-23T11:00:00.000Z", {showAgo: false})).toBe("3 years");
|
|
438
|
+
});
|
|
439
|
+
});
|
|
440
|
+
});
|