Skip to content

Commit fcb4624

Browse files
committed
fix(test): split into good and bad tests
1 parent 2e013f0 commit fcb4624

1 file changed

Lines changed: 28 additions & 3 deletions

File tree

src/notification.rs

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,35 @@ mod tests {
103103
use rstest::rstest;
104104

105105
#[rstest]
106-
fn render_help(
106+
fn render_good(
107+
#[values("short", "with\nnewline")] message_str: &'static str,
108+
#[values(
109+
NotificationLevel::Info,
110+
NotificationLevel::Warning,
111+
NotificationLevel::Error
112+
)]
113+
level: NotificationLevel,
114+
) {
115+
let mut terminal = Terminal::new(TestBackend::new(80, 24)).unwrap();
116+
terminal
117+
.draw(|frame| {
118+
let notification = Notification {
119+
message: message_str.into(),
120+
level: level.clone(),
121+
ttl: 1,
122+
};
123+
notification.render(0, frame, frame.area());
124+
})
125+
.unwrap();
126+
127+
let snapshot_name = format!("{}-{:?}", message_str, level);
128+
assert_snapshot!(snapshot_name, terminal.backend());
129+
}
130+
131+
#[rstest]
132+
#[should_panic]
133+
fn render_bad(
107134
#[values(
108-
"short",
109-
"with\nnewline",
110135
"extremely long WITHOUT newline Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed id mauris sit amet libero convallis fringilla quis non augue. In sollicitudin quam sed magna finibus, vitae malesuada magna porttitor. Pellentesque in dictum dui. Nullam nec mi venenatis, faucibus odio eget, molestie nisi. Fusce velit nibh, euismod vel lectus id, placerat.",
111136
r#"extremely long WITH newline Lorem ipsum dolor sit amet, consectetur
112137
adipiscing elit. Sed id mauris sit amet libero convallis fringilla quis non

0 commit comments

Comments
 (0)