[librsvg] Add test for extracting dimensions of an element when the SVG is fully specified



commit 9c51a9a45e34a3d5a520a4bf1b0df85f5ce6ebef
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Mar 4 18:15:32 2019 -0600

    Add test for extracting dimensions of an element when the SVG is fully specified

 librsvg_crate/tests/intrinsic-dimensions.rs | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
---
diff --git a/librsvg_crate/tests/intrinsic-dimensions.rs b/librsvg_crate/tests/intrinsic-dimensions.rs
index b0254eb5..564ad2c5 100644
--- a/librsvg_crate/tests/intrinsic-dimensions.rs
+++ b/librsvg_crate/tests/intrinsic-dimensions.rs
@@ -114,6 +114,30 @@ fn element_geometry_with_percent_viewport() {
     assert_eq!((ink_r, logical_r), (rect, rect));
 }
 
+#[test]
+fn element_geometry_viewport_viewbox() {
+    let svg = load_svg(
+        br#"<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg"; width="100" height="400" viewBox="0 0 100 400">
+  <rect id="one" x="0" y="0" width="100" height="200" fill="rgb(0,255,0)"/>
+  <rect id="two" x="0" y="200" width="100" height="200" fill="rgb(0,0,255)"/>
+</svg>
+"#,
+    );
+
+    let renderer = CairoRenderer::new(&svg);
+    let (ink_r, logical_r) = renderer.geometry_for_element(Some("#two")).unwrap();
+
+    let rect = cairo::Rectangle {
+        x: 0.0,
+        y: 200.0,
+        width: 100.0,
+        height: 200.0,
+    };
+
+    assert_eq!((ink_r, logical_r), (rect, rect));
+}
+
 #[test]
 fn element_geometry_for_nonexistent_element() {
     let svg = load_svg(


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]