#![cfg(target_arch = "wasm32")]
extern crate wasm_bindgen_test;
use wasm_bindgen_test::*;
wasm_bindgen_test_configure!(run_in_browser);
fn get_document() -> web_sys::Document {
let window = web_sys::window().expect("Cant find window");
window.document().expect("Cant find Document")
}
fn add_svg_parent() {
let prev_parent = get_document().get_element_by_id("svg_parent_id");
match prev_parent {
Some(el) => {
el.set_inner_html("");
}
None => {
let parent = get_document()
.create_element("div")
.expect("Couldn't create parent");
parent.set_id("svg_parent_id");
get_document()
.body()
.expect("Document doenst contain body")
.append_child(&parent)
.expect("Failed to add parent");
}
}
}
#[wasm_bindgen_test]
fn lib_simple_test() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render(circle, (20.0, 20.0));
}
#[wasm_bindgen_test]
fn lib_simple_smiley() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let smiley = SVGElem::new(Tag::G)
.append(SVGDefault::circle(20))
.append(SVGDefault::set_circle_loc(SVGDefault::circle(3), -7, -7))
.append(SVGDefault::set_circle_loc(SVGDefault::circle(3), 7, -7))
.append(SVGDefault::curve(-7, 5, 7, 5, -4, 10, 4, 10));
renderer.render(smiley, (25.0, 25.0));
}
#[wasm_bindgen_test]
fn lib_simple_colored_smiley() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let colored_smiley = SVGElem::new(Tag::G)
.append(SVGDefault::circle(20).set(Attr::Stroke, "#ffff00"))
.append(
SVGDefault::set_circle_loc(SVGDefault::circle(3), -7, -7).set(Attr::Fill, "#000000"),
)
.append(SVGDefault::set_circle_loc(SVGDefault::circle(3), 7, -7).set(Attr::Fill, "#000000"))
.append(
SVGDefault::curve(-7, 5, 7, 5, -4, 10, 4, 10)
.set(Attr::Stroke, "#ff0000")
.set(Attr::Fill, "transparent"),
);
renderer.render(colored_smiley, (25.0, 25.0));
}
#[wasm_bindgen_test]
fn renderer_render() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render(circle, (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_render_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render_named("named_circle", circle, (10.0, 10.0));
renderer.move_named("named_circle", (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_render_id() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
let circle_id = renderer.define_render(circle);
renderer.render_id(circle_id, (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_named_id() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
let circle_id = renderer.define_render(circle);
renderer.render_named_id("named_circle", circle_id, (20.0, 20.0));
renderer.move_named("named_circle", (25.0, 25.0));
}
#[wasm_bindgen_test]
fn renderer_define_render() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
let circle_id = renderer.define_render(circle);
renderer.render_id(circle_id, (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_clear() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.render_named("named_circle", SVGDefault::circle(10), (10.0, 10.0));
renderer.clear();
renderer.render_named("named_circle", SVGDefault::circle(10), (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_clear_named_container() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.create_named_container("named_container", "root");
renderer.append_to_container("named_container", SVGDefault::circle(10), (10.0, 10.0));
renderer.clear_named_container("named_container");
renderer.append_to_container("named_container", SVGDefault::circle(10), (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_update_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.create_named_container("named_container", "root");
renderer.append_to_container("named_container", SVGDefault::circle(10), (10.0, 10.0));
renderer.update_named("named_container", SVGDefault::circle(10), (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_update_named_with_id() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.create_named_container("named_container", "root");
let circle_id = renderer.define_render(SVGDefault::circle(10));
renderer.append_to_container("named_container", SVGDefault::circle(10), (10.0, 10.0));
renderer.update_named_with_id("named_container", circle_id, (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_hide_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render_named("named_circle", circle, (10.0, 10.0));
renderer.hide_named("named_circle");
}
#[wasm_bindgen_test]
fn renderer_show_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render_named("named_circle", circle, (10.0, 10.0));
renderer.hide_named("named_circle");
renderer.show_named("named_circle");
}
#[wasm_bindgen_test]
fn renderer_append_to_container() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.create_named_container("named_container", "root");
renderer.append_to_container("named_container", circle, (10.0, 10.0));
}
#[wasm_bindgen_test]
fn renderer_append_to_container_with_id() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.create_named_container("named_container", "root");
let circle_id = renderer.define_render(SVGDefault::circle(10));
renderer.append_to_container_with_id("named_container", circle_id, (10.0, 10.0));
}
#[wasm_bindgen_test]
fn renderer_delete_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.render_named("named_circle", SVGDefault::circle(10), (10.0, 10.0));
renderer.delete_named("named_circle");
renderer.render_named("named_circle", SVGDefault::circle(10), (20.0, 20.0));
}
#[wasm_bindgen_test]
fn renderer_does_named_exist() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let does_named_circle_exist = renderer.does_name_exist("named_circle");
assert!(!does_named_circle_exist);
renderer.render_named("named_circle", SVGDefault::circle(10), (10.0, 10.0));
let does_named_circle_exist = renderer.does_name_exist("named_circle");
assert!(does_named_circle_exist);
renderer.delete_named("named_circle");
let does_named_circle_exist = renderer.does_name_exist("named_circle");
assert!(!does_named_circle_exist);
renderer.render_named("named_circle", SVGDefault::circle(10), (20.0, 20.0));
let does_named_circle_exist = renderer.does_name_exist("named_circle");
assert!(does_named_circle_exist);
}
#[wasm_bindgen_test]
fn renderer_create_named_container() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.create_named_container("named_container", "root");
renderer.append_to_container("named_container", circle, (10.0, 10.0));
}
#[wasm_bindgen_test]
fn renderer_move_named() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render_named("named_circle", circle, (10.0, 10.0));
renderer.move_named("named_circle", (5.0, 5.0));
}
#[wasm_bindgen_test]
fn renderer_is_container() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let mut renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
let circle = SVGDefault::circle(10);
renderer.render_named("named_circle", circle, (10.0, 10.0));
renderer.create_named_container("named_container", "root");
println!("{}", renderer.is_container("named_circle")); println!("{}", renderer.is_container("named_container")); println!("{}", renderer.is_container("not_in_use_name")); }
#[wasm_bindgen_test]
fn renderer_adjust_viewbox() {
add_svg_parent();
use wasm_svg_graphics::prelude::*;
let renderer = SVGRenderer::new("svg_parent_id").expect("Failed to create renderer!");
renderer.adjust_viewbox(0, 0, 50, 50);
}