diff options
Diffstat (limited to 'tests/integration_test.rs')
| -rw-r--r-- | tests/integration_test.rs | 63 |
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()); +} |