Skip to content

Commit 51f8750

Browse files
fix(cli): empty string check (#279)
Signed-off-by: KeisukeYamashita <19yamashita15@gmail.com>
1 parent 1a34e5b commit 51f8750

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

src/rule/description_empty.rs

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,17 @@ impl Rule for DescriptionEmpty {
2323
}
2424

2525
fn validate(&self, message: &Message) -> Option<Violation> {
26-
if message.description.is_none() {
27-
return Some(Violation {
26+
match message.description {
27+
None => Some(Violation {
2828
level: self.level.unwrap_or(Self::LEVEL),
2929
message: self.message(message),
30-
});
30+
}),
31+
Some(ref desc) if desc.is_empty() => Some(Violation {
32+
level: self.level.unwrap_or(Self::LEVEL),
33+
message: self.message(message),
34+
}),
35+
_ => None,
3136
}
32-
33-
None
3437
}
3538
}
3639

@@ -84,4 +87,26 @@ mod tests {
8487
"description is empty or missing space in the beginning".to_string()
8588
);
8689
}
90+
91+
#[test]
92+
fn test_blank_description() {
93+
let rule = DescriptionEmpty::default();
94+
let message = Message {
95+
body: None,
96+
description: Some("".to_string()),
97+
footers: None,
98+
r#type: Some("feat".to_string()),
99+
raw: "(scope):".to_string(),
100+
scope: Some("scope".to_string()),
101+
subject: None,
102+
};
103+
104+
let violation = rule.validate(&message);
105+
assert!(violation.is_some());
106+
assert_eq!(violation.clone().unwrap().level, Level::Error);
107+
assert_eq!(
108+
violation.unwrap().message,
109+
"description is empty or missing space in the beginning".to_string()
110+
);
111+
}
87112
}

0 commit comments

Comments
 (0)