summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@gnome.org>2020-09-29 16:16:58 -0500
committerFederico Mena Quintero <federico@gnome.org>2020-10-02 11:55:13 -0500
commit47ccb40964642881ae469b12bea07ad4e500f0b4 (patch)
tree510507816eb0caac37b0d9a5e5946b4c28faa43b
parent05df1d091f68d6097dfd6955feac266a34698b93 (diff)
downloadlibrsvg-47ccb40964642881ae469b12bea07ad4e500f0b4.tar.gz
Add test with no intrinsic dimensions
-rw-r--r--librsvg_crate/tests/intrinsic_dimensions.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/librsvg_crate/tests/intrinsic_dimensions.rs b/librsvg_crate/tests/intrinsic_dimensions.rs
index 8307361f..ff0363ea 100644
--- a/librsvg_crate/tests/intrinsic_dimensions.rs
+++ b/librsvg_crate/tests/intrinsic_dimensions.rs
@@ -175,6 +175,40 @@ fn layer_geometry_with_no_width_height() {
}
#[test]
+fn layer_geometry_with_no_intrinsic_dimensions() {
+ let svg = load_svg(
+ br#"<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg">
+ <rect x="110" y="120" width="50" height="40"/>
+</svg>
+"#,
+ );
+
+ let renderer = CairoRenderer::new(&svg);
+
+ let viewport = cairo::Rectangle {
+ x: 100.0,
+ y: 100.0,
+ width: 100.0,
+ height: 100.0,
+ };
+
+ let (ink_r, logical_r) = renderer.geometry_for_layer(None, &viewport).unwrap();
+
+ // The SVG document above has no width/height nor viewBox, which means it should
+ // start with an identity transform for its coordinate space. Since the viewport
+ // is just offset by (100, 100), this just translates the coordinates of the <rect>.
+ let rect = cairo::Rectangle {
+ x: 210.0,
+ y: 220.0,
+ width: 50.0,
+ height: 40.0,
+ };
+
+ assert_eq!((ink_r, logical_r), (rect, rect));
+}
+
+#[test]
fn layer_geometry_with_percent_viewport() {
let svg = load_svg(
br#"<?xml version="1.0" encoding="UTF-8"?>