aloha-vue 2.74.0 → 2.75.0
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/CHANGELOG.md +8 -0
- package/LICENSE +22 -21
- package/dist/aloha-vue.css +13594 -13594
- package/dist/aloha-vue.css.map +1 -1
- package/dist/aloha-vue.es.js +59266 -64918
- package/dist/aloha-vue.umd.js +338 -211
- package/package.json +27 -34
- package/scss/components/ATable.scss +2 -2
- package/scss/utils/button.scss +362 -362
- package/scss/utils/funktions.scss +162 -162
- package/src/AAccordion/AAccordionItem/AAccordionItem.js +235 -230
- package/src/ACarousel/ACarousel.js +7 -2
- package/src/ADropdown/ADropdown.js +4 -1
- package/src/AFilters/AFilterCenter/AFilterCenter.js +5 -1
- package/src/AFilters/AFilterCenter/AFilterCenterItem/AFilterCenterItem.js +7 -2
- package/src/AFilters/AFiltersHorizontal/AFiltersHorizontal.js +412 -396
- package/src/AFilters/AFiltersHorizontal/AFiltersHorizontalFilter/AFiltersHorizontalFilter.js +102 -99
- package/src/AFilters/AFiltersHorizontal/compositionAPI/FiltersSavedDeleteAPI.js +108 -108
- package/src/AFilters/AFiltersMain/AFiltersMain.js +114 -111
- package/src/AFilters/AFiltersSaveModal/compositionAPI/SaveAPI.js +65 -65
- package/src/ALinkCopy/ALinkCopy.js +98 -95
- package/src/ALinkCopy/compositionAPI/CopyAPI.js +48 -48
- package/src/AList/__tests__/AList.test.js +33 -33
- package/src/AList/compositionAPI/__tests__/TagAPI.test.js +43 -43
- package/src/AMenu/AMenu.js +4 -1
- package/src/AMenu/AMenuBreadcrumbs/AMenuBreadcrumbs.js +240 -237
- package/src/AMenu/AMenuPanelLink/AMenuPanelLink.js +4 -1
- package/src/AMenu/AMenuSearchPanelBreadcrumbs/AMenuSearchPanelBreadcrumbs.js +122 -119
- package/src/AModalWizard/AModalWizard.js +58 -53
- package/src/AModalWizard/compositionAPI/__tests__/ScrollAPI.test.js +46 -46
- package/src/APagination/APaginationPages/APaginationPages.js +15 -4
- package/src/ARate/ARate.js +254 -249
- package/src/ARate/ARateIcon/ADecimalIcon/ADecimalIcon.js +53 -50
- package/src/ARate/ARateIcon/ARateIcon.js +109 -104
- package/src/AResizer/AResizer.js +167 -162
- package/src/ATable/ATableHeaderTh/compositionAPI/SortAPI.js +172 -167
- package/src/ATable/ATableHeaderThAction/ATableHeaderThAction.js +14 -4
- package/src/ATable/ATableHeaderThAction/ATableHeaderThActionItem/ATableHeaderThActionItem.js +191 -184
- package/src/ATable/ATablePreviewDown/ATablePreviewDown.js +72 -69
- package/src/ATable/ATablePreviewRight/ATablePreviewRight.js +265 -258
- package/src/ATable/ATableSortingAdditional/ATableSortingAdditional.js +224 -219
- package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.AttributesAPI.test.js +39 -39
- package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ColumnsAPI.test.js +68 -68
- package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.DropdownAPI.test.js +45 -45
- package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.FormAPI.test.js +95 -95
- package/src/ATable/ATableSortingAdditional/__tests__/ATableSortingAdditional.ModelAPI.test.js +1 -1
- package/src/ATable/ATableTd/ATableTd.js +4 -1
- package/src/ATable/ATableTdAction/ATableTdAction.js +19 -12
- package/src/ATable/ATableTopPanel/ATableTopPanel.js +11 -3
- package/src/ATable/ATableTr/ATableTr.js +408 -405
- package/src/ATable/__tests__/ATable.HeaderSlot.test.js +102 -97
- package/src/ATable/__tests__/ATable.RowIdsAPI.test.js +66 -66
- package/src/ATableForm/ATableForm.js +88 -85
- package/src/ATableForm/ATableFormCellAction/ATableFormCellAction.js +14 -4
- package/src/ATableForm/ATableFormCellDnd/ATableFormCellDnd.js +196 -187
- package/src/ATableForm/ATableFormRow/compositionAPI/EditAPI.js +104 -104
- package/src/ATableForm/__tests__/ATableForm.DragAndDropAPI.test.js +200 -212
- package/src/ATableForm/__tests__/ATableForm.ListView.test.js +134 -174
- package/src/ATableForm/compositionAPI/IconsAPI.js +24 -21
- package/src/AVerticalScroll/AVerticalScroll.js +182 -177
- package/src/AWizard/AWizard.js +26 -21
- package/src/AWizard/AWizardStep/AWizardStep.js +275 -270
- package/src/AWizard/compositionAPI/__tests__/ChangeStepAPI.test.js +32 -32
- package/src/AWizard/compositionAPI/__tests__/LocalAPI.test.js +55 -55
- package/src/PuxDatepicker/PuxDatepickerCalendarPanel/PuxDatepickerCalendarPanel.js +646 -648
- package/src/PuxDatepicker/panel/PanelDate/PanelDate.js +300 -301
- package/src/PuxDatepicker/panel/PanelMonth/PanelMonth.js +148 -149
- package/src/PuxDatepicker/panel/PanelTime/PanelTime.js +256 -257
- package/src/PuxDatepicker/panel/PanelYear/PanelYear.js +136 -137
- package/src/PuxDatepicker/utils/index.js +100 -100
- package/src/compositionAPI/AHttpAPI.js +593 -593
- package/src/compositionAPI/__tests__/AHttpAPI.test.js +42 -42
- package/src/filters/__tests__/filterBoolean.test.js +38 -38
- package/src/filters/__tests__/filterCapitalize.test.js +38 -38
- package/src/filters/__tests__/filterCurrency.test.js +21 -21
- package/src/filters/__tests__/filterDate.test.js +42 -42
- package/src/filters/__tests__/filterDefaultForEmpty.test.js +24 -24
- package/src/filters/__tests__/filterEmail.test.js +42 -42
- package/src/filters/__tests__/filterEscapeHtml.test.js +45 -45
- package/src/filters/__tests__/filterFileSize.test.js +45 -45
- package/src/filters/__tests__/filterFloat.test.js +74 -74
- package/src/filters/__tests__/filterJson.test.js +74 -74
- package/src/filters/__tests__/filterKeyValue.test.js +50 -50
- package/src/filters/__tests__/filterLimitTo.test.js +39 -39
- package/src/filters/__tests__/filterLink.test.js +41 -41
- package/src/filters/__tests__/filterList.test.js +149 -149
- package/src/filters/__tests__/filterLowerCase.test.js +38 -38
- package/src/filters/__tests__/filterMask.test.js +80 -80
- package/src/filters/__tests__/filterPropertyByValue.test.js +27 -27
- package/src/filters/__tests__/filterSearchHighlight.test.js +129 -129
- package/src/filters/__tests__/filterUpperCase.test.js +38 -38
- package/src/filters/__tests__/filterValueByCondition.test.js +3 -3
- package/src/filters/filterJson.js +39 -39
- package/src/filters/filterValueByCondition.js +2 -2
- package/src/plugins/AAlertPlugin.js +16 -5
- package/src/plugins/AMultiselectOrderedPlugin.js +88 -81
- package/src/plugins/ASelectPlugin.js +12 -10
- package/src/ui/ACheckbox/ACheckbox.js +82 -79
- package/src/ui/ADatepicker/compositionAPI/EventsAPI.js +297 -297
- package/src/ui/ADatepicker/utils/index.js +76 -76
- package/src/ui/ADatepickerAlt/ADatepicker.js +912 -912
- package/src/ui/ADatepickerAlt/utils/index.js +98 -98
- package/src/ui/AFieldset/__tests__/AFieldset.ClassColumn.test.js +113 -114
- package/src/ui/AFormElementBtnClear/AFormElementBtnClear.js +4 -1
- package/src/ui/AInputCurrency/AInputCurrency.js +20 -15
- package/src/ui/AInputCurrency/__tests__/AInputCurrency.ModelAPI.test.js +73 -73
- package/src/ui/AInputNumber/AInputNumber.js +17 -12
- package/src/ui/AJson/AJson.js +12 -3
- package/src/ui/AJson/compositionAPI/JsonAPI.js +116 -116
- package/src/ui/ALabel/__tests__/ALabel.IdAPI.test.js +42 -42
- package/src/ui/ALabel/__tests__/ALabel.LabelAPI.test.js +33 -33
- package/src/ui/ARadio/ARadio.js +80 -77
- package/src/ui/ASelect/ASelect.js +390 -383
- package/src/ui/ASelect/ASelectElement/ASelectElement.js +179 -176
- package/src/ui/ASelect/ASelectValueCloseable/ASelectValueCloseable.js +143 -141
- package/src/ui/ASelect/__tests__/SelectedFirstAPI.test.js +101 -101
- package/src/ui/ASelect/__tests__/SelectedVisibleAPI.test.js +98 -98
- package/src/ui/ASlider/compositionAPI/SliderAPI.js +23 -23
- package/src/ui/AValidatedJson/AValidatedJson.js +4 -1
- package/src/ui/AValidatedJson/AValidatedJsonItem/AValidatedJsonItem.js +308 -298
- package/src/ui/compositionApi/UiCollapseAPI.js +68 -63
- package/src/ui/compositionApi/UiInputAutofillAPI.js +41 -41
- package/src/ui/compositionApi/__tests__/UIDataGroupAPI.test.js +106 -106
- package/src/ui/compositionApi/__tests__/UIExcludeRenderAttributesAPI.test.js +39 -39
- package/src/ui/compositionApi/__tests__/UiDataWithKeyIdAndLabelAPI.test.js +128 -128
- package/src/ui/compositionApi/__tests__/UiSearchAPI.test.js +71 -71
- package/src/utils/EventBus.js +51 -8
- package/src/utils/__tests__/EventBus.test.js +138 -0
- package/src/utils/__tests__/utils.aOrderBy.test.js +1 -1
- package/src/utils/__tests__/utils.aSortBy.test.js +1 -1
- package/src/utils/__tests__/utils.getTotalNestedCount.test.js +56 -56
- package/src/utils/__tests__/utils.isArrayOfArrays.test.js +44 -44
- package/src/utils/__tests__/utils.isArrayOfStrings.test.js +36 -36
- package/src/utils/__tests__/utilsArray.aFirst.test.js +1 -1
- package/src/utils/__tests__/utilsArray.aLast.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isArguments.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isArray.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isArrayBuffer.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isBoolean.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isBuffer.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isDate.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isElement.test.js +5 -3
- package/src/utils/__tests__/utilsLang.isError.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isFinite.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isFunction.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isInteger.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isMap.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isNaN.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isNil.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isNull.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isNumber.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isObject.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isObjectLike.test.js +5 -3
- package/src/utils/__tests__/utilsLang.isPlainObject.test.js +3 -2
- package/src/utils/__tests__/utilsLang.isPromise.test.js +5 -2
- package/src/utils/__tests__/utilsLang.isRegExp.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isSet.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isString.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isSymbol.test.js +5 -3
- package/src/utils/__tests__/utilsLang.isUndefined.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isWeakMap.test.js +1 -1
- package/src/utils/__tests__/utilsLang.isWeakSet.test.js +1 -1
- package/src/utils/__tests__/utilsMath.isEven.test.js +43 -43
- package/src/utils/__tests__/utilsMath.isOdd.test.js +43 -43
- package/src/utils/__tests__/utilsUi.isModelForFilterNotEmpty.test.js +65 -65
- package/src/utils/autosize.js +1 -1
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describe,
|
|
3
|
-
expect,
|
|
4
|
-
it,
|
|
5
|
-
} from "
|
|
6
|
-
|
|
7
|
-
import filterFileSize from "../filterFileSize.js";
|
|
8
|
-
|
|
9
|
-
describe("filterFileSize", () => {
|
|
10
|
-
it("default", () => {
|
|
11
|
-
expect(filterFileSize(1024)).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
12
|
-
expect(filterFileSize(0)).toBe("0,00 _A_FILE_SIZE_KB_");
|
|
13
|
-
expect(filterFileSize(500)).toBe("0,49 _A_FILE_SIZE_KB_");
|
|
14
|
-
expect(filterFileSize(504547643)).toBe("492.722,31 _A_FILE_SIZE_KB_");
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it("units", () => {
|
|
18
|
-
expect(filterFileSize(1048576, { units: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
|
|
19
|
-
expect(filterFileSize(0, { units: "mb" })).toBe("0,00 _A_FILE_SIZE_MB_");
|
|
20
|
-
expect(filterFileSize(9226889999, { units: "gb" })).toBe("8,59 _A_FILE_SIZE_GB_");
|
|
21
|
-
expect(filterFileSize(1024, { units: "" })).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
22
|
-
expect(filterFileSize(0, { units: "" })).toBe("0,00 _A_FILE_SIZE_B_");
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("sourceUnits", () => {
|
|
26
|
-
expect(filterFileSize(1, { units: "mb", sourceUnits: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
|
|
27
|
-
expect(filterFileSize(1, { units: "kb", sourceUnits: "gb" })).toBe("1.048.576,00 _A_FILE_SIZE_KB_");
|
|
28
|
-
expect(filterFileSize(0, { sourceUnits: "mb" })).toBe("0,00 _A_FILE_SIZE_KB_");
|
|
29
|
-
expect(filterFileSize(1024, { sourceUnits: "b" })).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
30
|
-
expect(filterFileSize(12, { units: "tb", sourceUnits: "pb" })).toBe("12.288,00 _A_FILE_SIZE_TB_");
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it("digits", () => {
|
|
34
|
-
expect(filterFileSize(1024, { digits: 0 })).toBe("1 _A_FILE_SIZE_KB_");
|
|
35
|
-
expect(filterFileSize(500, { digits: 1 })).toBe("0,5 _A_FILE_SIZE_KB_");
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it("combined", () => {
|
|
39
|
-
expect(filterFileSize(133889, { units: "tb", sourceUnits: "mb", digits: 3 })).toBe("0,128 _A_FILE_SIZE_TB_");
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it("value (String)", () => {
|
|
43
|
-
expect(filterFileSize("1024.1")).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
44
|
-
});
|
|
45
|
-
});
|
|
1
|
+
import {
|
|
2
|
+
describe,
|
|
3
|
+
expect,
|
|
4
|
+
it,
|
|
5
|
+
} from "vitest";
|
|
6
|
+
|
|
7
|
+
import filterFileSize from "../filterFileSize.js";
|
|
8
|
+
|
|
9
|
+
describe("filterFileSize", () => {
|
|
10
|
+
it("default", () => {
|
|
11
|
+
expect(filterFileSize(1024)).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
12
|
+
expect(filterFileSize(0)).toBe("0,00 _A_FILE_SIZE_KB_");
|
|
13
|
+
expect(filterFileSize(500)).toBe("0,49 _A_FILE_SIZE_KB_");
|
|
14
|
+
expect(filterFileSize(504547643)).toBe("492.722,31 _A_FILE_SIZE_KB_");
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it("units", () => {
|
|
18
|
+
expect(filterFileSize(1048576, { units: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
|
|
19
|
+
expect(filterFileSize(0, { units: "mb" })).toBe("0,00 _A_FILE_SIZE_MB_");
|
|
20
|
+
expect(filterFileSize(9226889999, { units: "gb" })).toBe("8,59 _A_FILE_SIZE_GB_");
|
|
21
|
+
expect(filterFileSize(1024, { units: "" })).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
22
|
+
expect(filterFileSize(0, { units: "" })).toBe("0,00 _A_FILE_SIZE_B_");
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("sourceUnits", () => {
|
|
26
|
+
expect(filterFileSize(1, { units: "mb", sourceUnits: "mb" })).toBe("1,00 _A_FILE_SIZE_MB_");
|
|
27
|
+
expect(filterFileSize(1, { units: "kb", sourceUnits: "gb" })).toBe("1.048.576,00 _A_FILE_SIZE_KB_");
|
|
28
|
+
expect(filterFileSize(0, { sourceUnits: "mb" })).toBe("0,00 _A_FILE_SIZE_KB_");
|
|
29
|
+
expect(filterFileSize(1024, { sourceUnits: "b" })).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
30
|
+
expect(filterFileSize(12, { units: "tb", sourceUnits: "pb" })).toBe("12.288,00 _A_FILE_SIZE_TB_");
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it("digits", () => {
|
|
34
|
+
expect(filterFileSize(1024, { digits: 0 })).toBe("1 _A_FILE_SIZE_KB_");
|
|
35
|
+
expect(filterFileSize(500, { digits: 1 })).toBe("0,5 _A_FILE_SIZE_KB_");
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("combined", () => {
|
|
39
|
+
expect(filterFileSize(133889, { units: "tb", sourceUnits: "mb", digits: 3 })).toBe("0,128 _A_FILE_SIZE_TB_");
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("value (String)", () => {
|
|
43
|
+
expect(filterFileSize("1024.1")).toBe("1,00 _A_FILE_SIZE_KB_");
|
|
44
|
+
});
|
|
45
|
+
});
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describe,
|
|
3
|
-
expect,
|
|
4
|
-
it,
|
|
5
|
-
} from "
|
|
6
|
-
|
|
7
|
-
import filterFloat from "../filterFloat";
|
|
8
|
-
|
|
9
|
-
describe("filterFloat", () => {
|
|
10
|
-
it("without extra attributes", () => {
|
|
11
|
-
expect(filterFloat(123456)).toBe("123.456,00");
|
|
12
|
-
expect(filterFloat(1000)).toBe("1.000,00");
|
|
13
|
-
expect(filterFloat(1000000)).toBe("1.000.000,00");
|
|
14
|
-
expect(filterFloat(1000.12)).toBe("1.000,12");
|
|
15
|
-
expect(filterFloat(0.12)).toBe("0,12");
|
|
16
|
-
expect(filterFloat(0.1234)).toBe("0,12");
|
|
17
|
-
expect(filterFloat(0)).toBe("0,00");
|
|
18
|
-
expect(filterFloat(0.000)).toBe("0,00");
|
|
19
|
-
expect(filterFloat(undefined)).toBe("");
|
|
20
|
-
expect(filterFloat(null)).toBe("");
|
|
21
|
-
expect(filterFloat("")).toBe("0,00");
|
|
22
|
-
expect(filterFloat("1000.12")).toBe("1.000,12");
|
|
23
|
-
expect(filterFloat("1.000.000,00")).toBe("1.000.000,00");
|
|
24
|
-
expect(filterFloat("Aloha")).toBe("Aloha");
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it("suffix", () => {
|
|
28
|
-
expect(filterFloat(123456, { suffix: "%" })).toBe("123.456,00 %");
|
|
29
|
-
expect(filterFloat(1000, { suffix: "€" })).toBe("1.000,00 €");
|
|
30
|
-
expect(filterFloat("1000", { suffix: "%" })).toBe("1.000,00 %");
|
|
31
|
-
expect(filterFloat("Aloha", { suffix: "%" })).toBe("Aloha");
|
|
32
|
-
expect(filterFloat(undefined, { suffix: "%" })).toBe("");
|
|
33
|
-
expect(filterFloat(null, { suffix: "%" })).toBe("");
|
|
34
|
-
expect(filterFloat("", { suffix: "%" })).toBe("0,00 %");
|
|
35
|
-
expect(filterFloat("1.000.000,00", { suffix: "%" })).toBe("1.000.000,00 %");
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it("digits", () => {
|
|
39
|
-
expect(filterFloat(123456, { digits: 2 })).toBe("123.456,00");
|
|
40
|
-
expect(filterFloat(123456, { digits: 4 })).toBe("123.456,0000");
|
|
41
|
-
expect(filterFloat(123.12345, { digits: 3 })).toBe("123,123");
|
|
42
|
-
expect(filterFloat(123.12345, { digits: 1 })).toBe("123,1");
|
|
43
|
-
expect(filterFloat(123.12345, { digits: 0 })).toBe("123");
|
|
44
|
-
expect(filterFloat(1000.12345, { digits: 0 })).toBe("1.000");
|
|
45
|
-
expect(filterFloat("", { digits: 0 })).toBe("0");
|
|
46
|
-
expect(filterFloat("Aloha", { digits: 0 })).toBe("Aloha");
|
|
47
|
-
expect(filterFloat(undefined, { digits: 0 })).toBe("");
|
|
48
|
-
expect(filterFloat(null, { digits: 0 })).toBe("");
|
|
49
|
-
expect(filterFloat("1.000.000,00", { digits: 0 })).toBe("1.000.000");
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
it("digitGrouping", () => {
|
|
53
|
-
expect(filterFloat(123456, { digitGrouping: true })).toBe("123.456,00");
|
|
54
|
-
expect(filterFloat(123456, { digitGrouping: false })).toBe("123456,00");
|
|
55
|
-
expect(filterFloat(1000000, { digitGrouping: true })).toBe("1.000.000,00");
|
|
56
|
-
expect(filterFloat(1000000, { digitGrouping: false })).toBe("1000000,00");
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it("negative value", () => {
|
|
60
|
-
expect(filterFloat(-123456)).toBe("-123.456,00");
|
|
61
|
-
expect(filterFloat(-1000000)).toBe("-1.000.000,00");
|
|
62
|
-
expect(filterFloat(-1)).toBe("-1,00");
|
|
63
|
-
expect(filterFloat(-0)).toBe("0,00");
|
|
64
|
-
expect(filterFloat("-1.000.000,00")).toBe("-1.000.000,00");
|
|
65
|
-
expect(filterFloat("-1.000.000,01234")).toBe("-1.000.000,01");
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it("complex example", () => {
|
|
69
|
-
expect(filterFloat(1000000, { suffix: "%", digits: 0, digitGrouping: false })).toBe("1000000 %");
|
|
70
|
-
expect(filterFloat(0.123, { suffix: "%", digits: 0, digitGrouping: false })).toBe("0 %");
|
|
71
|
-
expect(filterFloat(0.123, { suffix: "%", digits: 4, digitGrouping: false })).toBe("0,1230 %");
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
|
|
1
|
+
import {
|
|
2
|
+
describe,
|
|
3
|
+
expect,
|
|
4
|
+
it,
|
|
5
|
+
} from "vitest";
|
|
6
|
+
|
|
7
|
+
import filterFloat from "../filterFloat";
|
|
8
|
+
|
|
9
|
+
describe("filterFloat", () => {
|
|
10
|
+
it("without extra attributes", () => {
|
|
11
|
+
expect(filterFloat(123456)).toBe("123.456,00");
|
|
12
|
+
expect(filterFloat(1000)).toBe("1.000,00");
|
|
13
|
+
expect(filterFloat(1000000)).toBe("1.000.000,00");
|
|
14
|
+
expect(filterFloat(1000.12)).toBe("1.000,12");
|
|
15
|
+
expect(filterFloat(0.12)).toBe("0,12");
|
|
16
|
+
expect(filterFloat(0.1234)).toBe("0,12");
|
|
17
|
+
expect(filterFloat(0)).toBe("0,00");
|
|
18
|
+
expect(filterFloat(0.000)).toBe("0,00");
|
|
19
|
+
expect(filterFloat(undefined)).toBe("");
|
|
20
|
+
expect(filterFloat(null)).toBe("");
|
|
21
|
+
expect(filterFloat("")).toBe("0,00");
|
|
22
|
+
expect(filterFloat("1000.12")).toBe("1.000,12");
|
|
23
|
+
expect(filterFloat("1.000.000,00")).toBe("1.000.000,00");
|
|
24
|
+
expect(filterFloat("Aloha")).toBe("Aloha");
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it("suffix", () => {
|
|
28
|
+
expect(filterFloat(123456, { suffix: "%" })).toBe("123.456,00 %");
|
|
29
|
+
expect(filterFloat(1000, { suffix: "€" })).toBe("1.000,00 €");
|
|
30
|
+
expect(filterFloat("1000", { suffix: "%" })).toBe("1.000,00 %");
|
|
31
|
+
expect(filterFloat("Aloha", { suffix: "%" })).toBe("Aloha");
|
|
32
|
+
expect(filterFloat(undefined, { suffix: "%" })).toBe("");
|
|
33
|
+
expect(filterFloat(null, { suffix: "%" })).toBe("");
|
|
34
|
+
expect(filterFloat("", { suffix: "%" })).toBe("0,00 %");
|
|
35
|
+
expect(filterFloat("1.000.000,00", { suffix: "%" })).toBe("1.000.000,00 %");
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("digits", () => {
|
|
39
|
+
expect(filterFloat(123456, { digits: 2 })).toBe("123.456,00");
|
|
40
|
+
expect(filterFloat(123456, { digits: 4 })).toBe("123.456,0000");
|
|
41
|
+
expect(filterFloat(123.12345, { digits: 3 })).toBe("123,123");
|
|
42
|
+
expect(filterFloat(123.12345, { digits: 1 })).toBe("123,1");
|
|
43
|
+
expect(filterFloat(123.12345, { digits: 0 })).toBe("123");
|
|
44
|
+
expect(filterFloat(1000.12345, { digits: 0 })).toBe("1.000");
|
|
45
|
+
expect(filterFloat("", { digits: 0 })).toBe("0");
|
|
46
|
+
expect(filterFloat("Aloha", { digits: 0 })).toBe("Aloha");
|
|
47
|
+
expect(filterFloat(undefined, { digits: 0 })).toBe("");
|
|
48
|
+
expect(filterFloat(null, { digits: 0 })).toBe("");
|
|
49
|
+
expect(filterFloat("1.000.000,00", { digits: 0 })).toBe("1.000.000");
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it("digitGrouping", () => {
|
|
53
|
+
expect(filterFloat(123456, { digitGrouping: true })).toBe("123.456,00");
|
|
54
|
+
expect(filterFloat(123456, { digitGrouping: false })).toBe("123456,00");
|
|
55
|
+
expect(filterFloat(1000000, { digitGrouping: true })).toBe("1.000.000,00");
|
|
56
|
+
expect(filterFloat(1000000, { digitGrouping: false })).toBe("1000000,00");
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("negative value", () => {
|
|
60
|
+
expect(filterFloat(-123456)).toBe("-123.456,00");
|
|
61
|
+
expect(filterFloat(-1000000)).toBe("-1.000.000,00");
|
|
62
|
+
expect(filterFloat(-1)).toBe("-1,00");
|
|
63
|
+
expect(filterFloat(-0)).toBe("0,00");
|
|
64
|
+
expect(filterFloat("-1.000.000,00")).toBe("-1.000.000,00");
|
|
65
|
+
expect(filterFloat("-1.000.000,01234")).toBe("-1.000.000,01");
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("complex example", () => {
|
|
69
|
+
expect(filterFloat(1000000, { suffix: "%", digits: 0, digitGrouping: false })).toBe("1000000 %");
|
|
70
|
+
expect(filterFloat(0.123, { suffix: "%", digits: 0, digitGrouping: false })).toBe("0 %");
|
|
71
|
+
expect(filterFloat(0.123, { suffix: "%", digits: 4, digitGrouping: false })).toBe("0,1230 %");
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
|
|
@@ -1,74 +1,74 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describe,
|
|
3
|
-
expect,
|
|
4
|
-
it,
|
|
5
|
-
} from "
|
|
6
|
-
|
|
7
|
-
import filterJson from "../filterJson";
|
|
8
|
-
|
|
9
|
-
describe("filterJson", () => {
|
|
10
|
-
it("returns empty string when input value is null", () => {
|
|
11
|
-
expect(filterJson(null)).toBe("");
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it("returns empty string when input value is undefined", () => {
|
|
15
|
-
expect(filterJson(undefined)).toBe("");
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("returns a stringified JSON when input value is a valid JSON", () => {
|
|
19
|
-
const value = { key: "value" };
|
|
20
|
-
const expectedOutput = JSON.stringify(value, null, 2);
|
|
21
|
-
|
|
22
|
-
expect(filterJson(value)).toBe(expectedOutput);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("returns empty string when an error occurs during stringifying", () => {
|
|
26
|
-
const circularReference = {};
|
|
27
|
-
circularReference.self = circularReference;
|
|
28
|
-
|
|
29
|
-
expect(filterJson(circularReference)).toBe("");
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it("returns formatted HTML output when isHtml is true", () => {
|
|
33
|
-
const value = { key: "value" };
|
|
34
|
-
const expectedOutput = `<pre class="a_code_content">${ JSON.stringify(value, null, 2) }</pre>`;
|
|
35
|
-
|
|
36
|
-
expect(filterJson(value, { isHtml: true })).toBe(expectedOutput);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("returns formatted HTML output with custom class", () => {
|
|
40
|
-
const value = { key: "value" };
|
|
41
|
-
const expectedOutput = `<pre class="custom_class">${ JSON.stringify(value, null, 2) }</pre>`;
|
|
42
|
-
|
|
43
|
-
expect(filterJson(value, { isHtml: true, jsonClass: "custom_class" })).toBe(expectedOutput);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it("returns formatted HTML output with custom tag", () => {
|
|
47
|
-
const value = { key: "value" };
|
|
48
|
-
const expectedOutput = `<div class="a_code_content">${ JSON.stringify(value, null, 2) }</div>`;
|
|
49
|
-
|
|
50
|
-
expect(filterJson(value, { isHtml: true, tag: "div" })).toBe(expectedOutput);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("returns formatted HTML output with custom tag and class", () => {
|
|
54
|
-
const value = { key: "value" };
|
|
55
|
-
const expectedOutput = `<span class="custom_class">${ JSON.stringify(value, null, 2) }</span>`;
|
|
56
|
-
|
|
57
|
-
expect(filterJson(value, { isHtml: true, tag: "span", jsonClass: "custom_class" })).toBe(expectedOutput);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("returns correctly formatted JSON when using a replacer function", () => {
|
|
61
|
-
const value = { key1: "value1", key2: "value2" };
|
|
62
|
-
const replacer = (key, val) => (key === "key1" ? undefined : val);
|
|
63
|
-
const expectedOutput = JSON.stringify(value, replacer, 2);
|
|
64
|
-
|
|
65
|
-
expect(filterJson(value, { replacer })).toBe(expectedOutput);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it("returns correctly formatted JSON with a custom space indentation", () => {
|
|
69
|
-
const value = { key: "value" };
|
|
70
|
-
const expectedOutput = JSON.stringify(value, null, 4);
|
|
71
|
-
|
|
72
|
-
expect(filterJson(value, { space: 4 })).toBe(expectedOutput);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
1
|
+
import {
|
|
2
|
+
describe,
|
|
3
|
+
expect,
|
|
4
|
+
it,
|
|
5
|
+
} from "vitest";
|
|
6
|
+
|
|
7
|
+
import filterJson from "../filterJson";
|
|
8
|
+
|
|
9
|
+
describe("filterJson", () => {
|
|
10
|
+
it("returns empty string when input value is null", () => {
|
|
11
|
+
expect(filterJson(null)).toBe("");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("returns empty string when input value is undefined", () => {
|
|
15
|
+
expect(filterJson(undefined)).toBe("");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("returns a stringified JSON when input value is a valid JSON", () => {
|
|
19
|
+
const value = { key: "value" };
|
|
20
|
+
const expectedOutput = JSON.stringify(value, null, 2);
|
|
21
|
+
|
|
22
|
+
expect(filterJson(value)).toBe(expectedOutput);
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
it("returns empty string when an error occurs during stringifying", () => {
|
|
26
|
+
const circularReference = {};
|
|
27
|
+
circularReference.self = circularReference;
|
|
28
|
+
|
|
29
|
+
expect(filterJson(circularReference)).toBe("");
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it("returns formatted HTML output when isHtml is true", () => {
|
|
33
|
+
const value = { key: "value" };
|
|
34
|
+
const expectedOutput = `<pre class="a_code_content">${ JSON.stringify(value, null, 2) }</pre>`;
|
|
35
|
+
|
|
36
|
+
expect(filterJson(value, { isHtml: true })).toBe(expectedOutput);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
it("returns formatted HTML output with custom class", () => {
|
|
40
|
+
const value = { key: "value" };
|
|
41
|
+
const expectedOutput = `<pre class="custom_class">${ JSON.stringify(value, null, 2) }</pre>`;
|
|
42
|
+
|
|
43
|
+
expect(filterJson(value, { isHtml: true, jsonClass: "custom_class" })).toBe(expectedOutput);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("returns formatted HTML output with custom tag", () => {
|
|
47
|
+
const value = { key: "value" };
|
|
48
|
+
const expectedOutput = `<div class="a_code_content">${ JSON.stringify(value, null, 2) }</div>`;
|
|
49
|
+
|
|
50
|
+
expect(filterJson(value, { isHtml: true, tag: "div" })).toBe(expectedOutput);
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it("returns formatted HTML output with custom tag and class", () => {
|
|
54
|
+
const value = { key: "value" };
|
|
55
|
+
const expectedOutput = `<span class="custom_class">${ JSON.stringify(value, null, 2) }</span>`;
|
|
56
|
+
|
|
57
|
+
expect(filterJson(value, { isHtml: true, tag: "span", jsonClass: "custom_class" })).toBe(expectedOutput);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("returns correctly formatted JSON when using a replacer function", () => {
|
|
61
|
+
const value = { key1: "value1", key2: "value2" };
|
|
62
|
+
const replacer = (key, val) => (key === "key1" ? undefined : val);
|
|
63
|
+
const expectedOutput = JSON.stringify(value, replacer, 2);
|
|
64
|
+
|
|
65
|
+
expect(filterJson(value, { replacer })).toBe(expectedOutput);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("returns correctly formatted JSON with a custom space indentation", () => {
|
|
69
|
+
const value = { key: "value" };
|
|
70
|
+
const expectedOutput = JSON.stringify(value, null, 4);
|
|
71
|
+
|
|
72
|
+
expect(filterJson(value, { space: 4 })).toBe(expectedOutput);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describe,
|
|
3
|
-
expect,
|
|
4
|
-
it,
|
|
5
|
-
} from "
|
|
6
|
-
|
|
7
|
-
import filterKeyValue from "../filterKeyValue";
|
|
8
|
-
|
|
9
|
-
describe("filterKeyValue", () => {
|
|
10
|
-
it("single key-value pair", () => {
|
|
11
|
-
expect(filterKeyValue({ greeting: "aloha" })).toBe("greeting: aloha");
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it("multiple key-value pairs", () => {
|
|
15
|
-
expect(filterKeyValue({ greeting: "aloha", farewell: "aloha" })).toBe("greeting: aloha, farewell: aloha");
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("empty object", () => {
|
|
19
|
-
expect(filterKeyValue({})).toBe("");
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it("null input", () => {
|
|
23
|
-
expect(filterKeyValue(null)).toBe("");
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("undefined input", () => {
|
|
27
|
-
expect(filterKeyValue(undefined)).toBe("");
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it("numeric and string values", () => {
|
|
31
|
-
expect(filterKeyValue({ alohaCount: 3, message: "aloha" })).toBe("alohaCount: 3, message: aloha");
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it("nested object", () => {
|
|
35
|
-
expect(filterKeyValue({ level1: { greeting: "aloha" } })).toBe("level1: [object Object]");
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it("object with array values", () => {
|
|
39
|
-
expect(filterKeyValue({ alohas: ["aloha", "hello", "hi"] })).toBe("alohas: aloha,hello,hi");
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it("object with boolean and null values", () => {
|
|
43
|
-
expect(filterKeyValue({ isActive: true, isEmpty: null })).toBe("isActive: true, isEmpty: null");
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it("complex object", () => {
|
|
47
|
-
expect(filterKeyValue({ greeting: "aloha", number: 42, nested: { key: "value" }, list: [1, 2, 3] }))
|
|
48
|
-
.toBe("greeting: aloha, number: 42, nested: [object Object], list: 1,2,3");
|
|
49
|
-
});
|
|
50
|
-
});
|
|
1
|
+
import {
|
|
2
|
+
describe,
|
|
3
|
+
expect,
|
|
4
|
+
it,
|
|
5
|
+
} from "vitest";
|
|
6
|
+
|
|
7
|
+
import filterKeyValue from "../filterKeyValue";
|
|
8
|
+
|
|
9
|
+
describe("filterKeyValue", () => {
|
|
10
|
+
it("single key-value pair", () => {
|
|
11
|
+
expect(filterKeyValue({ greeting: "aloha" })).toBe("greeting: aloha");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("multiple key-value pairs", () => {
|
|
15
|
+
expect(filterKeyValue({ greeting: "aloha", farewell: "aloha" })).toBe("greeting: aloha, farewell: aloha");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("empty object", () => {
|
|
19
|
+
expect(filterKeyValue({})).toBe("");
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("null input", () => {
|
|
23
|
+
expect(filterKeyValue(null)).toBe("");
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("undefined input", () => {
|
|
27
|
+
expect(filterKeyValue(undefined)).toBe("");
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it("numeric and string values", () => {
|
|
31
|
+
expect(filterKeyValue({ alohaCount: 3, message: "aloha" })).toBe("alohaCount: 3, message: aloha");
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("nested object", () => {
|
|
35
|
+
expect(filterKeyValue({ level1: { greeting: "aloha" } })).toBe("level1: [object Object]");
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
it("object with array values", () => {
|
|
39
|
+
expect(filterKeyValue({ alohas: ["aloha", "hello", "hi"] })).toBe("alohas: aloha,hello,hi");
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("object with boolean and null values", () => {
|
|
43
|
+
expect(filterKeyValue({ isActive: true, isEmpty: null })).toBe("isActive: true, isEmpty: null");
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it("complex object", () => {
|
|
47
|
+
expect(filterKeyValue({ greeting: "aloha", number: 42, nested: { key: "value" }, list: [1, 2, 3] }))
|
|
48
|
+
.toBe("greeting: aloha, number: 42, nested: [object Object], list: 1,2,3");
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
describe,
|
|
3
|
-
expect,
|
|
4
|
-
it,
|
|
5
|
-
} from "
|
|
6
|
-
|
|
7
|
-
import filterLimitTo from "../filterLimitTo";
|
|
8
|
-
|
|
9
|
-
describe("filterLimitTo", () => {
|
|
10
|
-
it("text exactly at limit", () => {
|
|
11
|
-
expect(filterLimitTo("Lorem ipsum dolor sit amet, cons", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
it("long text exceeding limit", () => {
|
|
15
|
-
expect(filterLimitTo("Lorem ipsum dolor sit amet, consectetur adipiscing elit", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("text ending with a period", () => {
|
|
19
|
-
expect(filterLimitTo("Lorem ipsum dolor sit amet.", { limit: 30 })).toBe("Lorem ipsum dolor sit amet.");
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it("text with multiple periods at the end", () => {
|
|
23
|
-
expect(filterLimitTo("Lorem ipsum dolor sit amet...", { limit: 30 })).toBe("Lorem ipsum dolor sit amet...");
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it("numeric value treated as text", () => {
|
|
27
|
-
expect(filterLimitTo(1234567890, { limit: 10 })).toBe("1234567890");
|
|
28
|
-
expect(filterLimitTo(1234567890, { limit: 9 })).toBe("123456789...");
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it("null value", () => {
|
|
32
|
-
expect(filterLimitTo(null, { limit: 30 })).toBe("");
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it("maxThreeDots false", () => {
|
|
36
|
-
expect(filterLimitTo("Lorem ipsum dolor sit amet, c..", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit amet, c....");
|
|
37
|
-
expect(filterLimitTo("Lorem ipsum dolor sit ame, c...", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit ame, c.....");
|
|
38
|
-
});
|
|
39
|
-
});
|
|
1
|
+
import {
|
|
2
|
+
describe,
|
|
3
|
+
expect,
|
|
4
|
+
it,
|
|
5
|
+
} from "vitest";
|
|
6
|
+
|
|
7
|
+
import filterLimitTo from "../filterLimitTo";
|
|
8
|
+
|
|
9
|
+
describe("filterLimitTo", () => {
|
|
10
|
+
it("text exactly at limit", () => {
|
|
11
|
+
expect(filterLimitTo("Lorem ipsum dolor sit amet, cons", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("long text exceeding limit", () => {
|
|
15
|
+
expect(filterLimitTo("Lorem ipsum dolor sit amet, consectetur adipiscing elit", { limit: 30 })).toBe("Lorem ipsum dolor sit amet, co...");
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it("text ending with a period", () => {
|
|
19
|
+
expect(filterLimitTo("Lorem ipsum dolor sit amet.", { limit: 30 })).toBe("Lorem ipsum dolor sit amet.");
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it("text with multiple periods at the end", () => {
|
|
23
|
+
expect(filterLimitTo("Lorem ipsum dolor sit amet...", { limit: 30 })).toBe("Lorem ipsum dolor sit amet...");
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it("numeric value treated as text", () => {
|
|
27
|
+
expect(filterLimitTo(1234567890, { limit: 10 })).toBe("1234567890");
|
|
28
|
+
expect(filterLimitTo(1234567890, { limit: 9 })).toBe("123456789...");
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it("null value", () => {
|
|
32
|
+
expect(filterLimitTo(null, { limit: 30 })).toBe("");
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it("maxThreeDots false", () => {
|
|
36
|
+
expect(filterLimitTo("Lorem ipsum dolor sit amet, c..", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit amet, c....");
|
|
37
|
+
expect(filterLimitTo("Lorem ipsum dolor sit ame, c...", { limit: 30, maxThreeDots: false })).toBe("Lorem ipsum dolor sit ame, c.....");
|
|
38
|
+
});
|
|
39
|
+
});
|