[librsvg: 24/30] attributes: add a simple constructor for tests
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 24/30] attributes: add a simple constructor for tests
- Date: Mon, 28 Dec 2020 20:06:30 +0000 (UTC)
commit df4a1f402b2252879bb2887b9d3605357419e1d5
Author: Paolo Borelli <pborelli gnome org>
Date: Sat Dec 26 15:25:01 2020 +0100
attributes: add a simple constructor for tests
This allows removing unsafe from gradient and pattern tests.
src/gradient.rs | 9 ++-------
src/pattern.rs | 5 +----
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]