Skip to content

Commit ef1a992

Browse files
committed
Add testcase
1 parent 6e67932 commit ef1a992

3 files changed

Lines changed: 123 additions & 0 deletions

File tree

crates/vespera_macro/src/parser/schema.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,27 @@ mod tests {
738738
SchemaType::String,
739739
vec!["ok-status", "ErrorCode"] // rename_all is not applied in this path
740740
)]
741+
#[case(
742+
r#"
743+
enum Simple {
744+
First,
745+
Second,
746+
}
747+
"#,
748+
SchemaType::String,
749+
vec!["First", "Second"]
750+
)]
751+
#[case(
752+
r#"
753+
#[serde(rename_all = "snake_case")]
754+
enum Simple {
755+
FirstItem,
756+
SecondItem,
757+
}
758+
"#,
759+
SchemaType::String,
760+
vec!["first_item", "second_item"]
761+
)]
741762
fn test_parse_enum_to_schema_unit_variants(
742763
#[case] enum_src: &str,
743764
#[case] expected_type: SchemaType,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
source: crates/vespera_macro/src/parser/schema.rs
3+
expression: schema
4+
---
5+
Schema {
6+
ref_path: None,
7+
schema_type: Some(
8+
String,
9+
),
10+
format: None,
11+
title: None,
12+
description: None,
13+
default: None,
14+
example: None,
15+
examples: None,
16+
minimum: None,
17+
maximum: None,
18+
exclusive_minimum: None,
19+
exclusive_maximum: None,
20+
multiple_of: None,
21+
min_length: None,
22+
max_length: None,
23+
pattern: None,
24+
items: None,
25+
prefix_items: None,
26+
min_items: None,
27+
max_items: None,
28+
unique_items: None,
29+
properties: None,
30+
required: None,
31+
additional_properties: None,
32+
min_properties: None,
33+
max_properties: None,
34+
enum: Some(
35+
[
36+
String("First"),
37+
String("Second"),
38+
],
39+
),
40+
all_of: None,
41+
any_of: None,
42+
one_of: None,
43+
not: None,
44+
nullable: None,
45+
read_only: None,
46+
write_only: None,
47+
external_docs: None,
48+
defs: None,
49+
dynamic_anchor: None,
50+
dynamic_ref: None,
51+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
source: crates/vespera_macro/src/parser/schema.rs
3+
expression: schema
4+
---
5+
Schema {
6+
ref_path: None,
7+
schema_type: Some(
8+
String,
9+
),
10+
format: None,
11+
title: None,
12+
description: None,
13+
default: None,
14+
example: None,
15+
examples: None,
16+
minimum: None,
17+
maximum: None,
18+
exclusive_minimum: None,
19+
exclusive_maximum: None,
20+
multiple_of: None,
21+
min_length: None,
22+
max_length: None,
23+
pattern: None,
24+
items: None,
25+
prefix_items: None,
26+
min_items: None,
27+
max_items: None,
28+
unique_items: None,
29+
properties: None,
30+
required: None,
31+
additional_properties: None,
32+
min_properties: None,
33+
max_properties: None,
34+
enum: Some(
35+
[
36+
String("first_item"),
37+
String("second_item"),
38+
],
39+
),
40+
all_of: None,
41+
any_of: None,
42+
one_of: None,
43+
not: None,
44+
nullable: None,
45+
read_only: None,
46+
write_only: None,
47+
external_docs: None,
48+
defs: None,
49+
dynamic_anchor: None,
50+
dynamic_ref: None,
51+
}

0 commit comments

Comments
 (0)