|
1 | 1 | import {
|
2 | 2 | camelCase,
|
3 |
| - isNumberString, |
4 | 3 | kebabCase,
|
5 |
| - mergeClassNames, |
6 | 4 | toString,
|
7 | 5 | } from './string'
|
8 | 6 |
|
9 |
| -describe('mergeClassNames()', () => { |
10 |
| - test('mergeClassNames() function should returns className string when 1st argument given', () => { |
11 |
| - expect(mergeClassNames('foo')).toBe('foo') |
12 |
| - }) |
13 |
| - |
14 |
| - test('mergeClassNames() function should returns className string when both of 1st and 2nd arguments given', () => { |
15 |
| - expect(mergeClassNames('foo', 'bar')).toBe('foo bar') |
16 |
| - }) |
17 |
| - |
18 |
| - test('mergeClassNames() function should returns className string when both of 1st, 2nd and 3rd or more arguments given', () => { |
19 |
| - expect(mergeClassNames('foo', 'bar', 'fooz', 'barz')).toBe('foo bar fooz barz') |
20 |
| - }) |
21 |
| - |
22 |
| - test('mergeClassNames() function should returns className string when 2nd arguments given and 1st is not', () => { |
23 |
| - expect(mergeClassNames(undefined, 'bar')).toBe('bar') |
24 |
| - }) |
25 |
| - |
26 |
| - test('mergeClassNames() function should returns className string when 2nd arguments given and 1st is empty string', () => { |
27 |
| - expect(mergeClassNames('', 'bar')).toBe('bar') |
28 |
| - }) |
29 |
| - |
30 |
| - test('mergeClassNames() function should returns undefined when not any argument given', () => { |
31 |
| - expect(mergeClassNames()).toBe(undefined) |
32 |
| - }) |
33 |
| - |
34 |
| - test('mergeClassNames() function should returns undefined when given every arguments are empty string', () => { |
35 |
| - expect(mergeClassNames('', ' ', undefined, ' ')).toBe(undefined) |
36 |
| - }) |
37 |
| -}) |
38 |
| - |
39 |
| -describe('isNumberString()', () => { |
40 |
| - test('should returns true when given argument is number', () => { |
41 |
| - expect(isNumberString(1)).toBe(true) |
42 |
| - expect(isNumberString(100)).toBe(true) |
43 |
| - expect(isNumberString(12345678900)).toBe(true) |
44 |
| - expect(isNumberString(Number.POSITIVE_INFINITY)).toBe(true) |
45 |
| - expect(isNumberString(Number.MAX_VALUE)).toBe(true) |
46 |
| - }) |
47 |
| - |
48 |
| - test('should returns true when given argument consists of number character', () => { |
49 |
| - expect(isNumberString('1')).toBe(true) |
50 |
| - expect(isNumberString('1000')).toBe(true) |
51 |
| - expect(isNumberString('12345678900')).toBe(true) |
52 |
| - }) |
53 |
| - |
54 |
| - test('should returns true when given argument consists of number character with a positive or a negative symbol', () => { |
55 |
| - expect(isNumberString('-1000')).toBe(true) |
56 |
| - expect(isNumberString('+1000')).toBe(true) |
57 |
| - expect(isNumberString('--1000')).toBe(false) |
58 |
| - expect(isNumberString('++1000')).toBe(false) |
59 |
| - expect(isNumberString('+-1000')).toBe(false) |
60 |
| - }) |
61 |
| - |
62 |
| - test('should returns true when given argument is thousand-comma-formatted string', () => { |
63 |
| - expect(isNumberString('1,000,000,000')).toBe(true) |
64 |
| - expect(isNumberString('34,104,950,100')).toBe(true) |
65 |
| - expect(isNumberString('-34,104,950,100')).toBe(true) |
66 |
| - expect(isNumberString('+34,104,950,100')).toBe(true) |
67 |
| - expect(isNumberString('1,000,00')).toBe(false) |
68 |
| - }) |
69 |
| - |
70 |
| - test('should returns true when given argument consists of number character with floating point', () => { |
71 |
| - expect(isNumberString('1.000')).toBe(true) |
72 |
| - expect(isNumberString('1.123')).toBe(true) |
73 |
| - expect(isNumberString('10000.12345')).toBe(true) |
74 |
| - expect(isNumberString('-10000.12345')).toBe(true) |
75 |
| - expect(isNumberString('+10000.12345')).toBe(true) |
76 |
| - }) |
77 |
| - |
78 |
| - test('should returns true when given argument is thousand-comma-formatted string with floating point', () => { |
79 |
| - expect(isNumberString('34,104,950,100.000')).toBe(true) |
80 |
| - expect(isNumberString('34,104,950,100.123')).toBe(true) |
81 |
| - expect(isNumberString('-34,104,950,100.123')).toBe(true) |
82 |
| - expect(isNumberString('+34,104,950,100.123')).toBe(true) |
83 |
| - }) |
84 |
| - |
85 |
| - test('should returns false when given argument is neither string nor number', () => { |
86 |
| - expect(isNumberString()).toBe(false) |
87 |
| - expect(isNumberString(true)).toBe(false) |
88 |
| - expect(isNumberString({ value: 123 })).toBe(false) |
89 |
| - expect(isNumberString(() => 100)).toBe(false) |
90 |
| - expect(isNumberString('abcd')).toBe(false) |
91 |
| - expect(isNumberString('34,104,9250,100.123')).toBe(false) |
92 |
| - expect(isNumberString('1234-5678')).toBe(false) |
93 |
| - }) |
94 |
| -}) |
95 |
| - |
96 | 7 | describe('toString', () => {
|
97 | 8 | test('nullish value to empty string', () => {
|
98 | 9 | expect(toString(null)).toBe('')
|
|
0 commit comments