comment out tests

This commit is contained in:
Adam
2025-07-16 01:42:37 -07:00
parent cf0a32b9b1
commit f5c6b65fcc
35 changed files with 2963 additions and 3098 deletions
+179 -179
View File
@@ -398,216 +398,216 @@ impl Dispatcher {
}
}
#[cfg(test)]
mod test {
pub use crate::test_utils::test_prelude::*;
// #[cfg(test)]
// mod test {
// pub use crate::test_utils::test_prelude::*;
/// Create an editor with three layers
/// 1. A red rectangle
/// 2. A blue shape
/// 3. A green ellipse
async fn create_editor_with_three_layers() -> EditorTestUtils {
let mut editor = EditorTestUtils::create();
// /// Create an editor with three layers
// /// 1. A red rectangle
// /// 2. A blue shape
// /// 3. A green ellipse
// async fn create_editor_with_three_layers() -> EditorTestUtils {
// let mut editor = EditorTestUtils::create();
editor.new_document().await;
// editor.new_document().await;
editor.select_primary_color(Color::RED).await;
editor.draw_rect(100., 200., 300., 400.).await;
// editor.select_primary_color(Color::RED).await;
// editor.draw_rect(100., 200., 300., 400.).await;
editor.select_primary_color(Color::BLUE).await;
editor.draw_polygon(10., 1200., 1300., 400.).await;
// editor.select_primary_color(Color::BLUE).await;
// editor.draw_polygon(10., 1200., 1300., 400.).await;
editor.select_primary_color(Color::GREEN).await;
editor.draw_ellipse(104., 1200., 1300., 400.).await;
// editor.select_primary_color(Color::GREEN).await;
// editor.draw_ellipse(104., 1200., 1300., 400.).await;
editor
}
// editor
// }
/// - create rect, shape and ellipse
/// - copy
/// - paste
/// - assert that ellipse was copied
#[tokio::test]
async fn copy_paste_single_layer() {
let mut editor = create_editor_with_three_layers().await;
// /// - create rect, shape and ellipse
// /// - copy
// /// - paste
// /// - assert that ellipse was copied
// #[tokio::test]
// async fn copy_paste_single_layer() {
// let mut editor = create_editor_with_three_layers().await;
let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
editor
.handle_message(PortfolioMessage::PasteIntoFolder {
clipboard: Clipboard::Internal,
parent: LayerNodeIdentifier::ROOT_PARENT,
insert_index: 0,
})
.await;
// let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
// editor
// .handle_message(PortfolioMessage::PasteIntoFolder {
// clipboard: Clipboard::Internal,
// parent: LayerNodeIdentifier::ROOT_PARENT,
// insert_index: 0,
// })
// .await;
let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
assert_eq!(layers_before_copy.len(), 3);
assert_eq!(layers_after_copy.len(), 4);
// assert_eq!(layers_before_copy.len(), 3);
// assert_eq!(layers_after_copy.len(), 4);
// Existing layers are unaffected
for i in 0..=2 {
assert_eq!(layers_before_copy[i], layers_after_copy[i + 1]);
}
}
// // Existing layers are unaffected
// for i in 0..=2 {
// assert_eq!(layers_before_copy[i], layers_after_copy[i + 1]);
// }
// }
#[cfg_attr(miri, ignore)]
/// - create rect, shape and ellipse
/// - select shape
/// - copy
/// - paste
/// - assert that shape was copied
#[tokio::test]
async fn copy_paste_single_layer_from_middle() {
let mut editor = create_editor_with_three_layers().await;
// #[cfg_attr(miri, ignore)]
// /// - create rect, shape and ellipse
// /// - select shape
// /// - copy
// /// - paste
// /// - assert that shape was copied
// #[tokio::test]
// async fn copy_paste_single_layer_from_middle() {
// let mut editor = create_editor_with_three_layers().await;
let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
let shape_id = editor.active_document().metadata().all_layers().nth(1).unwrap();
// let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// let shape_id = editor.active_document().metadata().all_layers().nth(1).unwrap();
editor.handle_message(NodeGraphMessage::SelectedNodesSet { nodes: vec![shape_id.to_node()] }).await;
editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
editor
.handle_message(PortfolioMessage::PasteIntoFolder {
clipboard: Clipboard::Internal,
parent: LayerNodeIdentifier::ROOT_PARENT,
insert_index: 0,
})
.await;
// editor.handle_message(NodeGraphMessage::SelectedNodesSet { nodes: vec![shape_id.to_node()] }).await;
// editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
// editor
// .handle_message(PortfolioMessage::PasteIntoFolder {
// clipboard: Clipboard::Internal,
// parent: LayerNodeIdentifier::ROOT_PARENT,
// insert_index: 0,
// })
// .await;
let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
assert_eq!(layers_before_copy.len(), 3);
assert_eq!(layers_after_copy.len(), 4);
// assert_eq!(layers_before_copy.len(), 3);
// assert_eq!(layers_after_copy.len(), 4);
// Existing layers are unaffected
for i in 0..=2 {
assert_eq!(layers_before_copy[i], layers_after_copy[i + 1]);
}
}
// // Existing layers are unaffected
// for i in 0..=2 {
// assert_eq!(layers_before_copy[i], layers_after_copy[i + 1]);
// }
// }
#[cfg_attr(miri, ignore)]
/// - create rect, shape and ellipse
/// - select ellipse and rect
/// - copy
/// - delete
/// - create another rect
/// - paste
/// - paste
#[tokio::test]
async fn copy_paste_deleted_layers() {
let mut editor = create_editor_with_three_layers().await;
assert_eq!(editor.active_document().metadata().all_layers().count(), 3);
// #[cfg_attr(miri, ignore)]
// /// - create rect, shape and ellipse
// /// - select ellipse and rect
// /// - copy
// /// - delete
// /// - create another rect
// /// - paste
// /// - paste
// #[tokio::test]
// async fn copy_paste_deleted_layers() {
// let mut editor = create_editor_with_three_layers().await;
// assert_eq!(editor.active_document().metadata().all_layers().count(), 3);
let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
let rect_id = layers_before_copy[0];
let shape_id = layers_before_copy[1];
let ellipse_id = layers_before_copy[2];
// let layers_before_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// let rect_id = layers_before_copy[0];
// let shape_id = layers_before_copy[1];
// let ellipse_id = layers_before_copy[2];
editor
.handle_message(NodeGraphMessage::SelectedNodesSet {
nodes: vec![rect_id.to_node(), ellipse_id.to_node()],
})
.await;
editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
editor.handle_message(NodeGraphMessage::DeleteSelectedNodes { delete_children: true }).await;
editor.draw_rect(0., 800., 12., 200.).await;
editor
.handle_message(PortfolioMessage::PasteIntoFolder {
clipboard: Clipboard::Internal,
parent: LayerNodeIdentifier::ROOT_PARENT,
insert_index: 0,
})
.await;
editor
.handle_message(PortfolioMessage::PasteIntoFolder {
clipboard: Clipboard::Internal,
parent: LayerNodeIdentifier::ROOT_PARENT,
insert_index: 0,
})
.await;
// editor
// .handle_message(NodeGraphMessage::SelectedNodesSet {
// nodes: vec![rect_id.to_node(), ellipse_id.to_node()],
// })
// .await;
// editor.handle_message(PortfolioMessage::Copy { clipboard: Clipboard::Internal }).await;
// editor.handle_message(NodeGraphMessage::DeleteSelectedNodes { delete_children: true }).await;
// editor.draw_rect(0., 800., 12., 200.).await;
// editor
// .handle_message(PortfolioMessage::PasteIntoFolder {
// clipboard: Clipboard::Internal,
// parent: LayerNodeIdentifier::ROOT_PARENT,
// insert_index: 0,
// })
// .await;
// editor
// .handle_message(PortfolioMessage::PasteIntoFolder {
// clipboard: Clipboard::Internal,
// parent: LayerNodeIdentifier::ROOT_PARENT,
// insert_index: 0,
// })
// .await;
let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
// let layers_after_copy = editor.active_document().metadata().all_layers().collect::<Vec<_>>();
assert_eq!(layers_before_copy.len(), 3);
assert_eq!(layers_after_copy.len(), 6);
// assert_eq!(layers_before_copy.len(), 3);
// assert_eq!(layers_after_copy.len(), 6);
println!("{:?} {:?}", layers_after_copy, layers_before_copy);
// println!("{:?} {:?}", layers_after_copy, layers_before_copy);
assert_eq!(layers_after_copy[5], shape_id);
}
// assert_eq!(layers_after_copy[5], shape_id);
// }
#[tokio::test]
/// This test will fail when you make changes to the underlying serialization format for a document.
async fn check_if_demo_art_opens() {
use crate::messages::layout::utility_types::widget_prelude::*;
// #[tokio::test]
// /// This test will fail when you make changes to the underlying serialization format for a document.
// async fn check_if_demo_art_opens() {
// use crate::messages::layout::utility_types::widget_prelude::*;
let print_problem_to_terminal_on_failure = |value: &String| {
println!();
println!("-------------------------------------------------");
println!("Failed test due to receiving a DisplayDialogError while loading a Graphite demo file.");
println!();
println!("NOTE:");
println!("Document upgrading isn't performed in tests like when opening in the actual editor.");
println!("You may need to open and re-save a document in the editor to apply its migrations.");
println!();
println!("DisplayDialogError details:");
println!();
println!("Description:");
println!("{value}");
println!("-------------------------------------------------");
println!();
// let print_problem_to_terminal_on_failure = |value: &String| {
// println!();
// println!("-------------------------------------------------");
// println!("Failed test due to receiving a DisplayDialogError while loading a Graphite demo file.");
// println!();
// println!("NOTE:");
// println!("Document upgrading isn't performed in tests like when opening in the actual editor.");
// println!("You may need to open and re-save a document in the editor to apply its migrations.");
// println!();
// println!("DisplayDialogError details:");
// println!();
// println!("Description:");
// println!("{value}");
// println!("-------------------------------------------------");
// println!();
panic!()
};
// panic!()
// };
let mut editor = EditorTestUtils::create();
// let mut editor = EditorTestUtils::create();
// UNCOMMENT THIS FOR RUNNING UNDER MIRI
//
// let files = [
// include_str!("../../demo-artwork/changing-seasons.graphite"),
// include_str!("../../demo-artwork/isometric-fountain.graphite"),
// include_str!("../../demo-artwork/painted-dreams.graphite"),
// include_str!("../../demo-artwork/procedural-string-lights.graphite"),
// include_str!("../../demo-artwork/parametric-dunescape.graphite"),
// include_str!("../../demo-artwork/red-dress.graphite"),
// include_str!("../../demo-artwork/valley-of-spires.graphite"),
// ];
// for (id, document_serialized_content) in files.iter().enumerate() {
// let document_name = format!("document {id}");
// // UNCOMMENT THIS FOR RUNNING UNDER MIRI
// //
// // let files = [
// // include_str!("../../demo-artwork/changing-seasons.graphite"),
// // include_str!("../../demo-artwork/isometric-fountain.graphite"),
// // include_str!("../../demo-artwork/painted-dreams.graphite"),
// // include_str!("../../demo-artwork/procedural-string-lights.graphite"),
// // include_str!("../../demo-artwork/parametric-dunescape.graphite"),
// // include_str!("../../demo-artwork/red-dress.graphite"),
// // include_str!("../../demo-artwork/valley-of-spires.graphite"),
// // ];
// // for (id, document_serialized_content) in files.iter().enumerate() {
// // let document_name = format!("document {id}");
for (document_name, _, file_name) in crate::messages::dialog::simple_dialogs::ARTWORK {
let document_serialized_content = std::fs::read_to_string(format!("../demo-artwork/{file_name}")).unwrap();
// for (document_name, _, file_name) in crate::messages::dialog::simple_dialogs::ARTWORK {
// let document_serialized_content = std::fs::read_to_string(format!("../demo-artwork/{file_name}")).unwrap();
assert_eq!(
document_serialized_content.lines().count(),
1,
"Demo artwork '{document_name}' has more than 1 line (remember to open and re-save it in Graphite)",
);
// assert_eq!(
// document_serialized_content.lines().count(),
// 1,
// "Demo artwork '{document_name}' has more than 1 line (remember to open and re-save it in Graphite)",
// );
let responses = editor.editor.handle_message(PortfolioMessage::OpenDocumentFile {
document_name: document_name.into(),
document_serialized_content,
});
// let responses = editor.editor.handle_message(PortfolioMessage::OpenDocumentFile {
// document_name: document_name.into(),
// document_serialized_content,
// });
// Check if the graph renders
if let Err(e) = editor.eval_graph().await {
print_problem_to_terminal_on_failure(&format!("Failed to evaluate the graph for document '{document_name}':\n{e}"));
}
// // Check if the graph renders
// if let Err(e) = editor.eval_graph().await {
// print_problem_to_terminal_on_failure(&format!("Failed to evaluate the graph for document '{document_name}':\n{e}"));
// }
for response in responses {
// Check for the existence of the file format incompatibility warning dialog after opening the test file
if let FrontendMessage::UpdateDialogColumn1 { layout_target: _, diff } = response {
if let DiffUpdate::SubLayout(sub_layout) = &diff[0].new_value {
if let LayoutGroup::Row { widgets } = &sub_layout[0] {
if let Widget::TextLabel(TextLabel { value, .. }) = &widgets[0].widget {
print_problem_to_terminal_on_failure(value);
}
}
}
}
}
}
}
}
// for response in responses {
// // Check for the existence of the file format incompatibility warning dialog after opening the test file
// if let FrontendMessage::UpdateDialogColumn1 { layout_target: _, diff } = response {
// if let DiffUpdate::SubLayout(sub_layout) = &diff[0].new_value {
// if let LayoutGroup::Row { widgets } = &sub_layout[0] {
// if let Widget::TextLabel(TextLabel { value, .. }) = &widgets[0].widget {
// print_problem_to_terminal_on_failure(value);
// }
// }
// }
// }
// }
// }
// }
// }