diff options
author | Paolo Borelli <pborelli@gnome.org> | 2020-12-26 15:25:01 +0100 |
---|---|---|
committer | Paolo Borelli <pborelli@gnome.org> | 2020-12-27 11:21:22 +0100 |
commit | df4a1f402b2252879bb2887b9d3605357419e1d5 (patch) | |
tree | 47a01c6623efd7a6e7a4b568d04f5c751500fc37 | |
parent | 569b4fae180e0fe5f0555ba1c780a6881e0b151c (diff) | |
download | librsvg-df4a1f402b2252879bb2887b9d3605357419e1d5.tar.gz |
attributes: add a simple constructor for tests
This allows removing unsafe from gradient and pattern tests.
-rw-r--r-- | src/gradient.rs | 9 | ||||
-rw-r--r-- | src/pattern.rs | 5 | ||||
-rw-r--r-- | src/xml/attributes.rs | 5 |
3 files changed, 8 insertions, 11 deletions
diff --git a/src/gradient.rs b/src/gradient.rs index e1229db1..b005cf30 100644 --- a/src/gradient.rs +++ b/src/gradient.rs @@ -749,7 +749,6 @@ mod tests { use super::*; use crate::node::{Node, NodeData}; use markup5ever::{namespace_url, ns, QualName}; - use std::ptr; #[test] fn parses_spread_method() { @@ -767,22 +766,18 @@ mod tests { #[test] fn gradient_resolved_from_defaults_is_really_resolved() { - let attrs = unsafe { Attributes::new_from_xml2_attributes(0, ptr::null()) }; - let node = Node::new(NodeData::new_element( &QualName::new(None, ns!(svg), local_name!("linearGradient")), - attrs, + Attributes::new(), )); let unresolved = borrow_element_as!(node, LinearGradient).get_unresolved(&node); let gradient = unresolved.gradient.resolve_from_defaults(); assert!(gradient.is_resolved()); - let attrs = unsafe { Attributes::new_from_xml2_attributes(0, ptr::null()) }; - let node = Node::new(NodeData::new_element( &QualName::new(None, ns!(svg), local_name!("radialGradient")), - attrs, + Attributes::new(), )); let unresolved = borrow_element_as!(node, RadialGradient).get_unresolved(&node); diff --git a/src/pattern.rs b/src/pattern.rs index 7432f06a..05d57783 100644 --- a/src/pattern.rs +++ b/src/pattern.rs @@ -430,15 +430,12 @@ mod tests { use super::*; use crate::node::NodeData; use markup5ever::{namespace_url, ns, QualName}; - use std::ptr; #[test] fn pattern_resolved_from_defaults_is_really_resolved() { - let attrs = unsafe { Attributes::new_from_xml2_attributes(0, ptr::null()) }; - let node = Node::new(NodeData::new_element( &QualName::new(None, ns!(svg), local_name!("pattern")), - attrs, + Attributes::new(), )); let unresolved = borrow_element_as!(node, Pattern).get_unresolved(&node); diff --git a/src/xml/attributes.rs b/src/xml/attributes.rs index 20176835..8afa02d8 100644 --- a/src/xml/attributes.rs +++ b/src/xml/attributes.rs @@ -26,6 +26,11 @@ pub struct Attributes(Vec<(QualName, AttributeValue)>); pub struct AttributesIter<'a>(slice::Iter<'a, (QualName, AttributeValue)>); impl Attributes { + #[cfg(test)] + pub fn new() -> Attributes { + Attributes(Vec::new()) + } + /// Creates an iterable `Attributes` from the C array of borrowed C strings. /// /// With libxml2's SAX parser, the caller's startElementNsSAX2Func |