aboutsummaryrefslogtreecommitdiff
path: root/tests/integration_test.rs
diff options
context:
space:
mode:
authorRuben Beltran del Rio <jj@r.bdr.sh>2025-12-16 10:40:44 +0100
committerRuben Beltran del Rio <jj@r.bdr.sh>2025-12-16 10:55:34 +0100
commitf08648e4b5a9f7855a2ed9068a386e2f3c596322 (patch)
tree1f1567ea609a1f74aaeab3cbbfdb249c5c47d723 /tests/integration_test.rs
Initial implementation
Diffstat (limited to 'tests/integration_test.rs')
-rw-r--r--tests/integration_test.rs63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/integration_test.rs b/tests/integration_test.rs
new file mode 100644
index 0000000..6814429
--- /dev/null
+++ b/tests/integration_test.rs
@@ -0,0 +1,63 @@
+use wmap_renderer::{render_to_png, render_to_svg, Configuration, StageType};
+
+#[test]
+fn test_render_simple_map_to_png() {
+ let source = include_str!("fixtures/simple.wmap");
+ let map = wmap_parser::parse(source);
+ let config = Configuration::default();
+
+ let result = render_to_png(&map, StageType::default(), &config);
+ assert!(result.is_ok());
+
+ let png_data = result.unwrap();
+ assert!(!png_data.is_empty());
+
+ // Verify it's a valid PNG (starts with PNG signature)
+ assert_eq!(&png_data[0..8], &[137, 80, 78, 71, 13, 10, 26, 10]);
+}
+
+#[test]
+fn test_render_simple_map_to_svg() {
+ let source = include_str!("fixtures/simple.wmap");
+ let map = wmap_parser::parse(source);
+ let config = Configuration::default();
+
+ let result = render_to_svg(&map, StageType::default(), &config);
+ assert!(result.is_ok());
+
+ let svg_data = result.unwrap();
+ assert!(!svg_data.is_empty());
+ assert!(svg_data.contains("<svg"));
+}
+
+#[test]
+fn test_render_with_all_shapes() {
+ let source = "Circle (50, 50) [circle]\nSquare (60, 60) [square]\nTriangle (70, 70) [triangle]\nX (80, 80) [x]";
+ let map = wmap_parser::parse(source);
+ let config = Configuration::default();
+
+ let result = render_to_png(&map, StageType::default(), &config);
+ assert!(result.is_ok());
+}
+
+#[test]
+fn test_render_with_different_stage_types() {
+ let source = "Component (50, 50)";
+ let map = wmap_parser::parse(source);
+ let config = Configuration::default();
+
+ // Test a few different stage types
+ assert!(render_to_png(&map, StageType::Activities, &config).is_ok());
+ assert!(render_to_png(&map, StageType::Cynefin, &config).is_ok());
+ assert!(render_to_png(&map, StageType::Practice, &config).is_ok());
+}
+
+#[test]
+fn test_render_empty_map() {
+ let source = "";
+ let map = wmap_parser::parse(source);
+ let config = Configuration::default();
+
+ let result = render_to_png(&map, StageType::default(), &config);
+ assert!(result.is_ok());
+}