1mod canvas;
2mod svg;
3
4use crate::Layer;
5
6use wasm_bindgen::prelude::*;
7
8#[wasm_bindgen]
9extern "C" {
10 #[wasm_bindgen(extends = Layer)]
18 #[derive(Debug, Clone)]
19 pub type Renderer;
20
21}
22
23pub use canvas::{Canvas, CanvasOptions};
24pub use svg::{Svg, SvgOptions};
25
26#[cfg(test)]
27mod tests {
28 use super::*;
29 use wasm_bindgen_test::*;
30
31 wasm_bindgen_test_configure!(run_in_browser);
32
33 #[wasm_bindgen_test]
34 fn svg_renderer_creation() {
35 let svg = Svg::new();
37 assert!(svg.is_instance_of::<Svg>());
38 }
39
40 #[wasm_bindgen_test]
41 fn svg_renderer_with_options() {
42 let options = SvgOptions::default();
44 options.set_padding(0.1);
45 options.set_tolerance(5.0);
46
47 let svg = Svg::with_options(&options);
48 assert!(svg.is_instance_of::<Svg>());
49 }
50
51 #[wasm_bindgen_test]
52 fn canvas_renderer_creation() {
53 let canvas = Canvas::new();
55 assert!(canvas.is_instance_of::<Canvas>());
56 }
57
58 #[wasm_bindgen_test]
59 fn canvas_renderer_with_options() {
60 let options = CanvasOptions::default();
62 options.set_padding(0.05);
63 options.set_tolerance(3.0);
64
65 let canvas = Canvas::with_options(&options);
66 assert!(canvas.is_instance_of::<Canvas>());
67 }
68}