Use proper hash for creates_a_new_task snapshot
This commit is contained in:
parent
326c5852aa
commit
41a822c6fb
5 changed files with 19 additions and 18 deletions
|
|
@ -1 +0,0 @@
|
||||||
e0b1f2e0c0af6324eb45fde8e82384d16acc2a80a9e157bdf3f42ac6548181cf
|
|
||||||
1
examples/todos/snapshots/creates_a_new_task.sha256
Normal file
1
examples/todos/snapshots/creates_a_new_task.sha256
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
3160686067cb7c738802009cdf2f3c5f5a5bd8c89ada70517388b7adbe64c313
|
||||||
|
|
@ -590,7 +590,7 @@ impl SavedState {
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
use iced::Settings;
|
use iced::{Settings, Theme};
|
||||||
use iced_test::{selector, Error, Simulator};
|
use iced_test::{selector, Error, Simulator};
|
||||||
|
|
||||||
fn simulator(todos: &Todos) -> Simulator<Message> {
|
fn simulator(todos: &Todos) -> Simulator<Message> {
|
||||||
|
|
@ -621,7 +621,7 @@ mod tests {
|
||||||
let mut ui = simulator(&todos);
|
let mut ui = simulator(&todos);
|
||||||
let _ = ui.find(selector::text("Create the universe"))?;
|
let _ = ui.find(selector::text("Create the universe"))?;
|
||||||
|
|
||||||
let snapshot = ui.snapshot()?;
|
let snapshot = ui.snapshot(&Theme::Dark)?;
|
||||||
assert!(
|
assert!(
|
||||||
snapshot.matches_hash("snapshots/creates_a_new_task")?,
|
snapshot.matches_hash("snapshots/creates_a_new_task")?,
|
||||||
"snapshots should match!"
|
"snapshots should match!"
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,9 @@ workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
iced_runtime.workspace = true
|
iced_runtime.workspace = true
|
||||||
|
|
||||||
iced_renderer.workspace = true
|
iced_renderer.workspace = true
|
||||||
|
iced_renderer.features = ["fira-sans"]
|
||||||
|
|
||||||
png.workspace = true
|
png.workspace = true
|
||||||
sha2.workspace = true
|
sha2.workspace = true
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,13 @@ use crate::core::theme;
|
||||||
use crate::core::time;
|
use crate::core::time;
|
||||||
use crate::core::widget;
|
use crate::core::widget;
|
||||||
use crate::core::window;
|
use crate::core::window;
|
||||||
use crate::core::{Element, Event, Point, Rectangle, Settings, Size, SmolStr};
|
use crate::core::{
|
||||||
|
Element, Event, Font, Point, Rectangle, Settings, Size, SmolStr,
|
||||||
|
};
|
||||||
use crate::runtime::user_interface;
|
use crate::runtime::user_interface;
|
||||||
use crate::runtime::UserInterface;
|
use crate::runtime::UserInterface;
|
||||||
|
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::env;
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
|
@ -31,7 +32,7 @@ pub fn simulator<'a, Message, Theme, Renderer>(
|
||||||
element: impl Into<Element<'a, Message, Theme, Renderer>>,
|
element: impl Into<Element<'a, Message, Theme, Renderer>>,
|
||||||
) -> Simulator<'a, Message, Theme, Renderer>
|
) -> Simulator<'a, Message, Theme, Renderer>
|
||||||
where
|
where
|
||||||
Theme: Default + theme::Base,
|
Theme: theme::Base,
|
||||||
Renderer: core::Renderer + core::renderer::Headless,
|
Renderer: core::Renderer + core::renderer::Headless,
|
||||||
{
|
{
|
||||||
Simulator::new(element)
|
Simulator::new(element)
|
||||||
|
|
@ -65,7 +66,7 @@ pub struct Target {
|
||||||
|
|
||||||
impl<'a, Message, Theme, Renderer> Simulator<'a, Message, Theme, Renderer>
|
impl<'a, Message, Theme, Renderer> Simulator<'a, Message, Theme, Renderer>
|
||||||
where
|
where
|
||||||
Theme: Default + theme::Base,
|
Theme: theme::Base,
|
||||||
Renderer: core::Renderer + core::renderer::Headless,
|
Renderer: core::Renderer + core::renderer::Headless,
|
||||||
{
|
{
|
||||||
pub fn new(
|
pub fn new(
|
||||||
|
|
@ -88,12 +89,17 @@ where
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let size = size.into();
|
let size = size.into();
|
||||||
|
|
||||||
|
let default_font = match settings.default_font {
|
||||||
|
Font::DEFAULT => Font::with_name("Fira Sans"),
|
||||||
|
_ => settings.default_font,
|
||||||
|
};
|
||||||
|
|
||||||
for font in settings.fonts {
|
for font in settings.fonts {
|
||||||
load_font(font).expect("Font must be valid");
|
load_font(font).expect("Font must be valid");
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut renderer =
|
let mut renderer =
|
||||||
Renderer::new(settings.default_font, settings.default_text_size);
|
Renderer::new(default_font, settings.default_text_size);
|
||||||
|
|
||||||
let raw = UserInterface::build(
|
let raw = UserInterface::build(
|
||||||
element,
|
element,
|
||||||
|
|
@ -307,8 +313,7 @@ where
|
||||||
statuses
|
statuses
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn snapshot(&mut self) -> Result<Snapshot, Error> {
|
pub fn snapshot(&mut self, theme: &Theme) -> Result<Snapshot, Error> {
|
||||||
let theme = Theme::default();
|
|
||||||
let base = theme.base();
|
let base = theme.base();
|
||||||
|
|
||||||
let _ = self.raw.update(
|
let _ = self.raw.update(
|
||||||
|
|
@ -323,7 +328,7 @@ where
|
||||||
|
|
||||||
let _ = self.raw.draw(
|
let _ = self.raw.draw(
|
||||||
&mut self.renderer,
|
&mut self.renderer,
|
||||||
&theme,
|
theme,
|
||||||
&core::renderer::Style {
|
&core::renderer::Style {
|
||||||
text_color: base.text_color,
|
text_color: base.text_color,
|
||||||
},
|
},
|
||||||
|
|
@ -493,11 +498,5 @@ impl From<png::EncodingError> for Error {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn snapshot_path(path: impl AsRef<Path>, extension: &str) -> PathBuf {
|
fn snapshot_path(path: impl AsRef<Path>, extension: &str) -> PathBuf {
|
||||||
let path = path.as_ref();
|
path.as_ref().with_extension(extension)
|
||||||
|
|
||||||
path.with_file_name(format!(
|
|
||||||
"{file_stem}-{os}.{extension}",
|
|
||||||
file_stem = path.file_stem().unwrap_or_default().to_string_lossy(),
|
|
||||||
os = env::consts::OS,
|
|
||||||
))
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue