tawasuyu

tawasuyu/taffy

A high performance rust-powered UI layout library

HTML 231Rust 10TOML 3CSS 1348 Definiciones

Add failing tests for borders flooring node size

48258540225c92aa8b7ea79b19a1ff4c60a9aeda · por Nico Burns · (hace 3 años) · padre 6be6a471e · ver el árbol en este commit

Delta semántico · 6

tests/generated/border_overrides_max_size.rs

tests/generated/border_overrides_min_size.rs

tests/generated/border_overrides_size.rs

tests/generated/mod.rs

7 archivos · +141 −0

diff --git a/test_fixtures/border_overrides_max_size.html b/test_fixtures/border_overrides_max_size.html
new file mode 100644
index 000000000..dadfac53c
--- /dev/null
+++ b/test_fixtures/border_overrides_max_size.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <script src="../scripts/gentest/test_helper.js"></script>
+  <link rel="stylesheet" type="text/css" href="../scripts/gentest/test_base_style.css">
+  <title>
+    Test description
+  </title>
+<head/>
+<body>
+
+<div id="test-root" style="max-width: 5px; max-height: 5px;border:10px solid red"></div>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/test_fixtures/border_overrides_min_size.html b/test_fixtures/border_overrides_min_size.html
new file mode 100644
index 000000000..c46010bad
--- /dev/null
+++ b/test_fixtures/border_overrides_min_size.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <script src="../scripts/gentest/test_helper.js"></script>
+  <link rel="stylesheet" type="text/css" href="../scripts/gentest/test_base_style.css">
+  <title>
+    Test description
+  </title>
+<head/>
+<body>
+
+<div id="test-root" style="min-width: 0px; min-height: 0px;border:10px solid red"></div>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/test_fixtures/border_overrides_size.html b/test_fixtures/border_overrides_size.html
new file mode 100644
index 000000000..4025c8ab3
--- /dev/null
+++ b/test_fixtures/border_overrides_size.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <script src="../scripts/gentest/test_helper.js"></script>
+  <link rel="stylesheet" type="text/css" href="../scripts/gentest/test_base_style.css">
+  <title>
+    Test description
+  </title>
+<head/>
+<body>
+
+<div id="test-root" style="width: 5px; height: 5px;border:10px solid red"></div>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/generated/border_overrides_max_size.rs b/tests/generated/border_overrides_max_size.rs
new file mode 100644
index 000000000..18b1e8c91
--- /dev/null
+++ b/tests/generated/border_overrides_max_size.rs
@@ -0,0 +1,31 @@
+#[test]
+fn border_overrides_max_size() {
+    use slotmap::Key;
+    #[allow(unused_imports)]
+    use taffy::{layout::Layout, prelude::*};
+    let mut taffy = taffy::Taffy::new();
+    let node = taffy
+        .new_leaf(taffy::style::Style {
+            max_size: taffy::geometry::Size {
+                width: taffy::style::Dimension::Points(5f32),
+                height: taffy::style::Dimension::Points(5f32),
+            },
+            border: taffy::geometry::Rect {
+                left: taffy::style::LengthPercentage::Points(10f32),
+                right: taffy::style::LengthPercentage::Points(10f32),
+                top: taffy::style::LengthPercentage::Points(10f32),
+                bottom: taffy::style::LengthPercentage::Points(10f32),
+            },
+            ..Default::default()
+        })
+        .unwrap();
+    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
+    println!("\nComputed tree:");
+    taffy::debug::print_tree(&taffy, node);
+    println!();
+    let Layout { size, location, .. } = taffy.layout(node).unwrap();
+    assert_eq!(size.width, 20f32, "width of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.width);
+    assert_eq!(size.height, 20f32, "height of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.height);
+    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.x);
+    assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.y);
+}
diff --git a/tests/generated/border_overrides_min_size.rs b/tests/generated/border_overrides_min_size.rs
new file mode 100644
index 000000000..de00911e3
--- /dev/null
+++ b/tests/generated/border_overrides_min_size.rs
@@ -0,0 +1,31 @@
+#[test]
+fn border_overrides_min_size() {
+    use slotmap::Key;
+    #[allow(unused_imports)]
+    use taffy::{layout::Layout, prelude::*};
+    let mut taffy = taffy::Taffy::new();
+    let node = taffy
+        .new_leaf(taffy::style::Style {
+            min_size: taffy::geometry::Size {
+                width: taffy::style::Dimension::Points(0f32),
+                height: taffy::style::Dimension::Points(0f32),
+            },
+            border: taffy::geometry::Rect {
+                left: taffy::style::LengthPercentage::Points(10f32),
+                right: taffy::style::LengthPercentage::Points(10f32),
+                top: taffy::style::LengthPercentage::Points(10f32),
+                bottom: taffy::style::LengthPercentage::Points(10f32),
+            },
+            ..Default::default()
+        })
+        .unwrap();
+    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
+    println!("\nComputed tree:");
+    taffy::debug::print_tree(&taffy, node);
+    println!();
+    let Layout { size, location, .. } = taffy.layout(node).unwrap();
+    assert_eq!(size.width, 20f32, "width of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.width);
+    assert_eq!(size.height, 20f32, "height of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.height);
+    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.x);
+    assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.y);
+}
diff --git a/tests/generated/border_overrides_size.rs b/tests/generated/border_overrides_size.rs
new file mode 100644
index 000000000..c4c4d0f48
--- /dev/null
+++ b/tests/generated/border_overrides_size.rs
@@ -0,0 +1,31 @@
+#[test]
+fn border_overrides_size() {
+    use slotmap::Key;
+    #[allow(unused_imports)]
+    use taffy::{layout::Layout, prelude::*};
+    let mut taffy = taffy::Taffy::new();
+    let node = taffy
+        .new_leaf(taffy::style::Style {
+            size: taffy::geometry::Size {
+                width: taffy::style::Dimension::Points(5f32),
+                height: taffy::style::Dimension::Points(5f32),
+            },
+            border: taffy::geometry::Rect {
+                left: taffy::style::LengthPercentage::Points(10f32),
+                right: taffy::style::LengthPercentage::Points(10f32),
+                top: taffy::style::LengthPercentage::Points(10f32),
+                bottom: taffy::style::LengthPercentage::Points(10f32),
+            },
+            ..Default::default()
+        })
+        .unwrap();
+    taffy.compute_layout(node, taffy::geometry::Size::MAX_CONTENT).unwrap();
+    println!("\nComputed tree:");
+    taffy::debug::print_tree(&taffy, node);
+    println!();
+    let Layout { size, location, .. } = taffy.layout(node).unwrap();
+    assert_eq!(size.width, 20f32, "width of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.width);
+    assert_eq!(size.height, 20f32, "height of node {:?}. Expected {}. Actual {}", node.data(), 20f32, size.height);
+    assert_eq!(location.x, 0f32, "x of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.x);
+    assert_eq!(location.y, 0f32, "y of node {:?}. Expected {}. Actual {}", node.data(), 0f32, location.y);
+}
diff --git a/tests/generated/mod.rs b/tests/generated/mod.rs
index 8a7799d86..f44e4ef10 100644
--- a/tests/generated/mod.rs
+++ b/tests/generated/mod.rs
@@ -204,6 +204,9 @@ mod border_container_match_child;
 mod border_flex_child;
 mod border_no_child;
 mod border_no_size;
+mod border_overrides_max_size;
+mod border_overrides_min_size;
+mod border_overrides_size;
 mod border_stretch_child;
 mod child_min_max_width_flexing;
 mod child_with_padding_align_end;