update tests and benchmarks to use new api
1use criterion::{criterion_group, criterion_main, Criterion};
2
3fn stretch_benchmarks(c: &mut Criterion) {
4 c.bench_function("deep hierarchy", |b| {
5 b.iter(|| {
6 stretch::node::Node::new(
7 stretch::style::Style { ..Default::default() },
8 vec![
9 &stretch::node::Node::new(
10 stretch::style::Style { ..Default::default() },
11 vec![
12 &stretch::node::Node::new(
13 stretch::style::Style { ..Default::default() },
14 vec![
15 &stretch::node::Node::new(
16 stretch::style::Style {
17 size: stretch::geometry::Size {
18 width: stretch::style::Dimension::Points(10.0),
19 height: stretch::style::Dimension::Points(10.0),
20 },
21 ..Default::default()
22 },
23 vec![],
24 ),
25 &stretch::node::Node::new(
26 stretch::style::Style {
27 size: stretch::geometry::Size {
28 width: stretch::style::Dimension::Points(10.0),
29 height: stretch::style::Dimension::Points(10.0),
30 },
31 ..Default::default()
32 },
33 vec![],
34 ),
35 ],
36 ),
37 &stretch::node::Node::new(
38 stretch::style::Style { ..Default::default() },
39 vec![
40 &stretch::node::Node::new(
41 stretch::style::Style {
42 size: stretch::geometry::Size {
43 width: stretch::style::Dimension::Points(10.0),
44 height: stretch::style::Dimension::Points(10.0),
45 },
46 ..Default::default()
47 },
48 vec![],
49 ),
50 &stretch::node::Node::new(
51 stretch::style::Style {
52 size: stretch::geometry::Size {
53 width: stretch::style::Dimension::Points(10.0),
54 height: stretch::style::Dimension::Points(10.0),
55 },
56 ..Default::default()
57 },
58 vec![],
59 ),
60 ],
61 ),
62 ],
63 ),
64 &stretch::node::Node::new(
65 stretch::style::Style { ..Default::default() },
66 vec![
67 &stretch::node::Node::new(
68 stretch::style::Style { ..Default::default() },
69 vec![
70 &stretch::node::Node::new(
71 stretch::style::Style {
72 size: stretch::geometry::Size {
73 width: stretch::style::Dimension::Points(10.0),
74 height: stretch::style::Dimension::Points(10.0),
75 },
76 ..Default::default()
77 },
78 vec![],
79 ),
80 &stretch::node::Node::new(
81 stretch::style::Style {
82 size: stretch::geometry::Size {
83 width: stretch::style::Dimension::Points(10.0),
84 height: stretch::style::Dimension::Points(10.0),
85 },
86 ..Default::default()
87 },
88 vec![],
89 ),
90 ],
91 ),
92 &stretch::node::Node::new(
93 stretch::style::Style { ..Default::default() },
94 vec![
95 &stretch::node::Node::new(
96 stretch::style::Style {
97 size: stretch::geometry::Size {
98 width: stretch::style::Dimension::Points(10.0),
99 height: stretch::style::Dimension::Points(10.0),
100 },
101 ..Default::default()
102 },
103 vec![],
104 ),
105 &stretch::node::Node::new(
106 stretch::style::Style {
107 size: stretch::geometry::Size {
108 width: stretch::style::Dimension::Points(10.0),
109 height: stretch::style::Dimension::Points(10.0),
110 },
111 ..Default::default()
112 },
113 vec![],
114 ),
115 ],
116 ),
117 ],
118 ),
119 ],
120 )
121 .compute_layout(stretch::geometry::Size::undefined())
122 .unwrap()
123 })
124 });
125}
126
127criterion_group!(benches, stretch_benchmarks);
128criterion_main!(benches);