mirror of
https://github.com/pythops/bluetui.git
synced 2026-05-06 13:31:35 +08:00
fix(test): all of those tests were actually good.. i was encountering OS error when saving snapshot
i'm an idiot...
This commit is contained in:
@@ -101,37 +101,13 @@ mod tests {
|
||||
use insta::assert_snapshot;
|
||||
use ratatui::{Terminal, backend::TestBackend};
|
||||
use rstest::rstest;
|
||||
use std::hash::{DefaultHasher, Hash, Hasher};
|
||||
|
||||
#[rstest]
|
||||
fn render_good(
|
||||
#[values("short", "with\nnewline")] message_str: &'static str,
|
||||
#[values(
|
||||
NotificationLevel::Info,
|
||||
NotificationLevel::Warning,
|
||||
NotificationLevel::Error
|
||||
)]
|
||||
level: NotificationLevel,
|
||||
) {
|
||||
let mut terminal = Terminal::new(TestBackend::new(80, 24)).unwrap();
|
||||
terminal
|
||||
.draw(|frame| {
|
||||
let notification = Notification {
|
||||
message: message_str.into(),
|
||||
level: level.clone(),
|
||||
ttl: 1,
|
||||
};
|
||||
notification.render(0, frame, frame.area());
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
let snapshot_name = format!("{}-{:?}", message_str, level);
|
||||
assert_snapshot!(snapshot_name, terminal.backend());
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
#[should_panic(expected = "File name too long")]
|
||||
fn render_bad(
|
||||
#[values(
|
||||
"short",
|
||||
"with\nnewline",
|
||||
"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.",
|
||||
r"extremely long WITH newline Lorem ipsum dolor sit amet, consectetur
|
||||
adipiscing elit. Sed id mauris sit amet libero convallis fringilla quis non
|
||||
@@ -159,7 +135,11 @@ nisi. Fusce velit nibh, euismod vel lectus id, placerat."
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
let snapshot_name = format!("{}-{:?}", message_str, level);
|
||||
let mut hasher = DefaultHasher::new();
|
||||
message_str.hash(&mut hasher);
|
||||
let hash = hasher.finish();
|
||||
|
||||
let snapshot_name = format!("{}-{:?}", hash, level);
|
||||
assert_snapshot!(snapshot_name, terminal.backend());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Error ┃ "
|
||||
" ┃ extremely long WITH 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, ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Info ┃ "
|
||||
" ┃ extremely long WITH 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, ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Warning ┃ "
|
||||
" ┃ extremely long WITH 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, ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
@@ -2,11 +2,11 @@
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━┓ "
|
||||
" ┃ Error ┃ "
|
||||
" ┃ longer with ┃ "
|
||||
" ┃ newline ┃ "
|
||||
" ┗━━━━━━━━━━━━━┛ "
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Error ┃ "
|
||||
" ┃ extremely long WITHOUT newline Lorem ipsum dolor sit amet, consectetur ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
@@ -2,11 +2,11 @@
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━┓ "
|
||||
" ┃ Info ┃ "
|
||||
" ┃ longer with ┃ "
|
||||
" ┃ newline ┃ "
|
||||
" ┗━━━━━━━━━━━━━┛ "
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Info ┃ "
|
||||
" ┃ extremely long WITHOUT newline Lorem ipsum dolor sit amet, consectetur ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
@@ -2,11 +2,11 @@
|
||||
source: src/notification.rs
|
||||
expression: terminal.backend()
|
||||
---
|
||||
" ┏━━━━━━━━━━━━━┓ "
|
||||
" ┃ Warning ┃ "
|
||||
" ┃ longer with ┃ "
|
||||
" ┃ newline ┃ "
|
||||
" ┗━━━━━━━━━━━━━┛ "
|
||||
" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ "
|
||||
" ┃ Warning ┃ "
|
||||
" ┃ extremely long WITHOUT newline Lorem ipsum dolor sit amet, consectetur ┃ "
|
||||
" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
Reference in New Issue
Block a user