diff options
Diffstat (limited to 'mingling_core/tests/test-structural-renderer/tests/integration.rs')
| -rw-r--r-- | mingling_core/tests/test-structural-renderer/tests/integration.rs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/mingling_core/tests/test-structural-renderer/tests/integration.rs b/mingling_core/tests/test-structural-renderer/tests/integration.rs new file mode 100644 index 0000000..3c3c6db --- /dev/null +++ b/mingling_core/tests/test-structural-renderer/tests/integration.rs @@ -0,0 +1,75 @@ +use mingling::{StructuralRenderer, StructuralRendererSetting, RenderResult, StructuralData}; +use serde::Serialize; + +#[derive(Debug, Clone, PartialEq, Serialize, StructuralData)] +struct TestData { + name: String, + value: i32, +} + +fn test_data() -> TestData { + TestData { + name: "test".into(), + value: 42, + } +} + +#[test] +fn test_render_disable() { + let mut r = RenderResult::default(); + let result = StructuralRenderer::render(&test_data(), &StructuralRendererSetting::Disable, &mut r); + assert!(result.is_ok()); + assert!(r.is_empty()); +} + +#[test] +fn test_render_json() { + let mut r = RenderResult::default(); + let result = StructuralRenderer::render(&test_data(), &StructuralRendererSetting::Json, &mut r); + assert!(result.is_ok()); + assert!(!r.is_empty()); + let output: String = r.into(); + assert!(output.contains("\"name\"")); + assert!(output.contains("\"test\"")); + assert!(output.contains("\"value\"")); + assert!(output.contains("42")); +} + +#[test] +fn test_render_yaml() { + let mut r = RenderResult::default(); + let result = StructuralRenderer::render(&test_data(), &StructuralRendererSetting::Yaml, &mut r); + assert!(result.is_ok()); + assert!(!r.is_empty()); + let output: String = r.into(); + assert!(output.contains("name:")); + assert!(output.contains("test")); + assert!(output.contains("value:")); + assert!(output.contains("42")); +} + +#[test] +fn test_render_toml() { + let mut r = RenderResult::default(); + let result = StructuralRenderer::render(&test_data(), &StructuralRendererSetting::Toml, &mut r); + assert!(result.is_ok()); + assert!(!r.is_empty()); + let output: String = r.into(); + assert!(output.contains("name = ")); + assert!(output.contains("test")); + assert!(output.contains("value = ")); + assert!(output.contains("42")); +} + +#[test] +fn test_render_ron() { + let mut r = RenderResult::default(); + let result = StructuralRenderer::render(&test_data(), &StructuralRendererSetting::Ron, &mut r); + assert!(result.is_ok()); + assert!(!r.is_empty()); + let output: String = r.into(); + assert!(output.contains("name:")); + assert!(output.contains("\"test\"")); + assert!(output.contains("value:")); + assert!(output.contains("42")); +} |
