@@ -2,14 +2,50 @@ import {describe, expect, it} from "@jest/globals"
2
2
import {
3
3
camelCase ,
4
4
coalesce ,
5
+ hasSingleElement ,
6
+ isDefined ,
7
+ isHttpMethod ,
5
8
kebabCase ,
6
9
mediaTypeToIdentifier ,
7
10
normalizeFilename ,
8
11
snakeCase ,
9
12
titleCase ,
13
+ upperFirst ,
10
14
} from "./utils"
11
15
12
16
describe ( "core/utils" , ( ) => {
17
+ describe ( "#isDefined" , ( ) => {
18
+ it . each ( [
19
+ [ "" , true ] ,
20
+ [ 0 , true ] ,
21
+ [ false , true ] ,
22
+ [ null , true ] ,
23
+ [ undefined , false ] ,
24
+ ] ) ( "%s -> %s" , ( input , expected ) => {
25
+ expect ( isDefined ( input ) ) . toBe ( expected )
26
+ } )
27
+ } )
28
+
29
+ describe ( "#hasSingleElement" , ( ) => {
30
+ it . each ( [
31
+ [ [ ] , false ] ,
32
+ [ [ 1 ] , true ] ,
33
+ [ [ 1 , 2 ] , false ] ,
34
+ ] ) ( "%s -> %s" , ( input , expected ) => {
35
+ expect ( hasSingleElement ( input ) ) . toBe ( expected )
36
+ } )
37
+ } )
38
+
39
+ describe ( "#isHttpMethod" , ( ) => {
40
+ it . each ( [
41
+ [ "GET" , true ] ,
42
+ [ "post" , true ] ,
43
+ [ "random" , false ] ,
44
+ ] ) ( "%s -> %s" , ( input , expected ) => {
45
+ expect ( isHttpMethod ( input ) ) . toBe ( expected )
46
+ } )
47
+ } )
48
+
13
49
describe ( "#coalesce" , ( ) => {
14
50
it ( "returns the first defined parameter" , ( ) => {
15
51
expect ( coalesce ( null , undefined , 1 , 2 ) ) . toBe ( 1 )
@@ -32,11 +68,37 @@ describe("core/utils", () => {
32
68
[ "single" , "Single" ] ,
33
69
[ "two words" , "TwoWords" ] ,
34
70
[ "camelCase" , "CamelCase" ] ,
71
+ [ "pipe-case" , "PipeCase" ] ,
72
+ [ "snake_case" , "SnakeCase" ] ,
35
73
] ) ( "%s -> %s" , ( input , expected ) => {
36
74
expect ( titleCase ( input ) ) . toBe ( expected )
37
75
} )
38
76
} )
39
77
78
+ describe ( "#camelCase" , ( ) => {
79
+ it . each ( [
80
+ [ "single" , "single" ] ,
81
+ [ "two words" , "twoWords" ] ,
82
+ [ "camelCase" , "camelCase" ] ,
83
+ [ "pipe-case" , "pipeCase" ] ,
84
+ [ "snake_case" , "snakeCase" ] ,
85
+ ] ) ( "%s -> %s" , ( input , expected ) => {
86
+ expect ( camelCase ( input ) ) . toBe ( expected )
87
+ } )
88
+ } )
89
+
90
+ describe ( "#upperFirst" , ( ) => {
91
+ it . each ( [
92
+ [ "single" , "Single" ] ,
93
+ [ "two words" , "Two words" ] ,
94
+ [ "camelCase" , "CamelCase" ] ,
95
+ [ "pipe-case" , "Pipe-case" ] ,
96
+ [ "snake_case" , "Snake_case" ] ,
97
+ ] ) ( "%s -> %s" , ( input , expected ) => {
98
+ expect ( upperFirst ( input ) ) . toBe ( expected )
99
+ } )
100
+ } )
101
+
40
102
describe ( "#normalizeFilename" , ( ) => {
41
103
const cases = [
42
104
{
0 commit comments