Skip to content

Commit dbe7e0f

Browse files
authored
Add more nullable tests (#234)
1 parent e96f8f4 commit dbe7e0f

File tree

3 files changed

+81
-47
lines changed

3 files changed

+81
-47
lines changed

package-lock.json

Lines changed: 48 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"dependencies": {
6464
"chalk": "^4.0.0",
6565
"js-yaml": "^3.13.1",
66-
"meow": "^6.1.0",
66+
"meow": "^6.1.1",
6767
"prettier": "^2.0.5"
6868
},
6969
"devDependencies": {
@@ -75,7 +75,7 @@
7575
"@types/js-yaml": "^3.12.3",
7676
"@types/prettier": "^2.0.0",
7777
"@typescript-eslint/eslint-plugin": "^2.29.0",
78-
"@typescript-eslint/parser": "^2.29.0",
78+
"@typescript-eslint/parser": "^2.31.0",
7979
"eslint": "^6.8.0",
8080
"eslint-config-prettier": "^6.11.0",
8181
"eslint-plugin-prettier": "^3.1.3",

tests/v3/index.test.ts

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ describe("types", () => {
4343
},
4444
string: { type: "string" },
4545
string_ref: { $ref: "#/components/schemas/string" },
46+
nullable: {
47+
type: "string",
48+
nullable: true,
49+
},
4650
},
4751
},
4852
};
@@ -53,6 +57,7 @@ describe("types", () => {
5357
object: { string?: string };
5458
string: string;
5559
string_ref: components['schemas']['string'];
60+
nullable: string | null;
5661
}
5762
}`)
5863
);
@@ -72,6 +77,10 @@ describe("types", () => {
7277
},
7378
number: { type: "number" },
7479
number_ref: { $ref: "#/components/schemas/number" },
80+
nullable: {
81+
type: "number",
82+
nullable: true,
83+
},
7584
},
7685
},
7786
};
@@ -82,6 +91,7 @@ describe("types", () => {
8291
object: { integer?: number; number?: number }
8392
number: number;
8493
number_ref: components['schemas']['number'];
94+
nullable: number | null;
8595
}
8696
}`)
8797
);
@@ -98,6 +108,7 @@ describe("types", () => {
98108
},
99109
boolean: { type: "boolean" },
100110
boolean_ref: { $ref: "#/components/schemas/boolean" },
111+
nullable: { type: "boolean", nullable: true },
101112
},
102113
},
103114
};
@@ -108,6 +119,7 @@ describe("types", () => {
108119
object: { boolean?: boolean };
109120
boolean: boolean;
110121
boolean_ref: components['schemas']['boolean'];
122+
nullable: boolean | null;
111123
}
112124
}`)
113125
);
@@ -141,6 +153,13 @@ describe("types", () => {
141153
},
142154
object_unknown: { type: "object" },
143155
object_empty: {},
156+
nullable: {
157+
type: "object",
158+
properties: {
159+
string: { type: "string" },
160+
},
161+
nullable: true,
162+
},
144163
},
145164
},
146165
};
@@ -156,6 +175,7 @@ describe("types", () => {
156175
object_ref: { number?: number };
157176
object_unknown: { [key: string]: any };
158177
object_empty: { [key: string]: any };
178+
nullable: { string?: string } | null;
159179
}
160180
}`)
161181
);
@@ -181,14 +201,20 @@ describe("types", () => {
181201
},
182202
type: "object",
183203
},
184-
inferred_array: {
185-
items: { $ref: "#/components/schemas/array" },
186-
},
204+
187205
string: { type: "string" },
188206
array_ref: {
189207
items: { $ref: "#/components/schemas/array" },
190208
type: "array",
191209
},
210+
inferred_array: {
211+
items: { $ref: "#/components/schemas/array" },
212+
},
213+
nullable: {
214+
type: "array",
215+
items: { type: "string" },
216+
nullable: true,
217+
},
192218
},
193219
},
194220
};
@@ -203,9 +229,10 @@ describe("types", () => {
203229
numbers?: number[];
204230
refs?: components['schemas']['string'][];
205231
};
206-
inferred_array: components['schemas']['array'][];
207232
string: string;
208233
array_ref: components['schemas']['array'][];
234+
inferred_array: components['schemas']['array'][];
235+
nullable: string[] | null;
209236
}
210237
}`)
211238
);

0 commit comments

Comments
 (0)