[yew-devel] [PATCH yew-widget-toolkit 3/4] macros: update wrong_comp test to adjust to new additional traits

Shannon Sterz s.sterz at proxmox.com
Tue Jan 14 12:44:39 CET 2025


Signed-off-by: Shannon Sterz <s.sterz at proxmox.com>
---
 pwt-macros/tests/widget/wrong_comp.rs     | 21 ++++++++++++++++++++-
 pwt-macros/tests/widget/wrong_comp.stderr |  4 ++--
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/pwt-macros/tests/widget/wrong_comp.rs b/pwt-macros/tests/widget/wrong_comp.rs
index 54781677..403c7d94 100644
--- a/pwt-macros/tests/widget/wrong_comp.rs
+++ b/pwt-macros/tests/widget/wrong_comp.rs
@@ -11,8 +11,27 @@ mod props {
     }
     pub trait CssPaddingBuilder {}
     pub trait CssMarginBuilder {}
+    pub trait AsCssStylesMut {
+        fn as_css_styles_mut(&mut self) -> &mut CssStyles;
+    }
+
+    /// Holds the CSS styles to set on elements
+    #[derive(Clone, Default, Debug, PartialEq)]
+    pub struct CssStyles {}
+
+    pub trait WidgetStyleBuilder {}
+
     pub trait WidgetBuilder: Sized {
         fn as_std_props_mut(&mut self) -> &mut WidgetStdProps;
+        fn as_std_props(&self) -> &WidgetStdProps;
+
+        fn class(mut self, class: impl Into<Classes>) -> Self {
+            self.add_class(class);
+            self
+        }
+        fn add_class(&mut self, class: impl Into<Classes>) {
+            self.as_std_props_mut().class.push(class);
+        }
     }
     pub trait AsClassesMut {
         fn as_classes_mut(&mut self) -> &mut Classes;
@@ -23,11 +42,11 @@ mod props {
     pub struct WidgetStdProps {
         pub key: Option<Key>,
         pub class: Classes,
+        pub styles: CssStyles,
     }
     #[derive(PartialEq, Default, Clone)]
     pub struct ListenersWrapper {}
 }
-
 use pwt_macros::widget;
 use yew::prelude::*;
 
diff --git a/pwt-macros/tests/widget/wrong_comp.stderr b/pwt-macros/tests/widget/wrong_comp.stderr
index 4e7e1279..c33f5549 100644
--- a/pwt-macros/tests/widget/wrong_comp.stderr
+++ b/pwt-macros/tests/widget/wrong_comp.stderr
@@ -1,5 +1,5 @@
 error[E0412]: cannot find type `Wrong` in this scope
-  --> tests/widget/wrong_comp.rs:34:26
+  --> tests/widget/wrong_comp.rs:53:26
    |
-34 | #[widget(pwt=crate, comp=Wrong, @input, @element)]
+53 | #[widget(pwt=crate, comp=Wrong, @input, @element)]
    |                          ^^^^^ not found in this scope
-- 
2.39.5





More information about the yew-devel mailing list