Skip to content

Commit 439ef67

Browse files
committed
Define print_cbor_types only in tests
1 parent 78a4a4b commit 439ef67

File tree

1 file changed

+84
-81
lines changed

1 file changed

+84
-81
lines changed

tests/deser_test

Lines changed: 84 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -67,93 +67,96 @@ fn cbor_bytes_sz(bytes: Vec<u8>, sz: cbor_event::StringLenSz) -> Vec<u8> {
6767
buf.finalize()
6868
}
6969

70-
fn print_cbor_types(obj_name: &str, vec: Vec<u8>) {
71-
use cbor_event::Type;
72-
let mut raw = cbor_event::de::Deserializer::from(vec);
73-
let mut lens = Vec::new();
74-
let consume_elem = |lens: &mut Vec<cbor_event::LenSz>| {
75-
if let Some(len) = lens.last_mut() {
76-
if let cbor_event::LenSz::Len(n, _) = len {
77-
*n -= 1;
70+
#[cfg(test)]
71+
mod tests {
72+
fn print_cbor_types(obj_name: &str, vec: Vec<u8>) {
73+
use cbor_event::Type;
74+
let mut raw = cbor_event::de::Deserializer::from(vec);
75+
let mut lens = Vec::new();
76+
let consume_elem = |lens: &mut Vec<cbor_event::LenSz>| {
77+
if let Some(len) = lens.last_mut() {
78+
if let cbor_event::LenSz::Len(n, _) = len {
79+
*n -= 1;
80+
}
7881
}
79-
}
80-
};
81-
let reduce_depth = |lens: &mut Vec<cbor_event::LenSz>| {
82-
while let Some(cbor_event::LenSz::Len(0, _)) = lens.last() {
83-
lens.pop();
84-
println!("{}}}", "\t".repeat(lens.len()));
85-
}
86-
};
87-
println!("{} = {{", obj_name);
88-
loop {
89-
print!("{}", "\t".repeat(lens.len()));
90-
match raw.cbor_type() {
91-
Err(_) => break,
92-
Ok(Type::UnsignedInteger) => {
93-
let (x, sz) = raw.unsigned_integer_sz().unwrap();
94-
println!("UINT({}, {:?})", x, sz);
95-
consume_elem(&mut lens);
96-
reduce_depth(&mut lens);
97-
},
98-
Ok(Type::NegativeInteger) => {
99-
let (x, sz) = raw.negative_integer_sz().unwrap();
100-
println!("NINT({}, {:?})", x, sz);
101-
consume_elem(&mut lens);
102-
reduce_depth(&mut lens);
103-
},
104-
Ok(Type::Bytes) => {
105-
let (x, sz) = raw.bytes_sz().unwrap();
106-
println!("BYTES({:?}, {:?})", x, sz);
107-
consume_elem(&mut lens);
108-
reduce_depth(&mut lens);
109-
},
110-
Ok(Type::Text) => {
111-
let (x, sz) = raw.text_sz().unwrap();
112-
println!("TEXT(\"{}\", {:?})", x, sz);
113-
consume_elem(&mut lens);
114-
reduce_depth(&mut lens);
115-
},
116-
Ok(Type::Array) => {
117-
let len = raw.array_sz().unwrap();
118-
println!("ARRAY({:?}) {{", len);
119-
consume_elem(&mut lens);
120-
lens.push(len);
121-
if let cbor_event::LenSz::Len(0, _sz) = len {
82+
};
83+
let reduce_depth = |lens: &mut Vec<cbor_event::LenSz>| {
84+
while let Some(cbor_event::LenSz::Len(0, _)) = lens.last() {
85+
lens.pop();
86+
println!("{}}}", "\t".repeat(lens.len()));
87+
}
88+
};
89+
println!("{} = {{", obj_name);
90+
loop {
91+
print!("{}", "\t".repeat(lens.len()));
92+
match raw.cbor_type() {
93+
Err(_) => break,
94+
Ok(Type::UnsignedInteger) => {
95+
let (x, sz) = raw.unsigned_integer_sz().unwrap();
96+
println!("UINT({}, {:?})", x, sz);
97+
consume_elem(&mut lens);
12298
reduce_depth(&mut lens);
123-
}
124-
},
125-
Ok(Type::Map) => {
126-
let len = raw.map_sz().unwrap();
127-
println!("MAP({:?}) {{", len);
128-
consume_elem(&mut lens);
129-
lens.push(match len {
130-
cbor_event::LenSz::Len(n, sz) => cbor_event::LenSz::Len(2 * n, sz),
131-
cbor_event::LenSz::Indefinite => cbor_event::LenSz::Indefinite,
132-
});
133-
if let cbor_event::LenSz::Len(0, _sz) = len {
99+
},
100+
Ok(Type::NegativeInteger) => {
101+
let (x, sz) = raw.negative_integer_sz().unwrap();
102+
println!("NINT({}, {:?})", x, sz);
103+
consume_elem(&mut lens);
134104
reduce_depth(&mut lens);
135-
}
136-
},
137-
Ok(Type::Tag) => {
138-
let (tag, sz) = raw.tag_sz().unwrap();
139-
println!("TAG({}, {:?})", tag, sz);
140-
},
141-
Ok(Type::Special) => {
142-
let special = raw.special().unwrap();
143-
println!("SPECIAL({:?})", special);
144-
if special == cbor_event::Special::Break {
145-
if let Some(cbor_event::LenSz::Indefinite) = lens.last() {
146-
lens.pop();
105+
},
106+
Ok(Type::Bytes) => {
107+
let (x, sz) = raw.bytes_sz().unwrap();
108+
println!("BYTES({:?}, {:?})", x, sz);
109+
consume_elem(&mut lens);
110+
reduce_depth(&mut lens);
111+
},
112+
Ok(Type::Text) => {
113+
let (x, sz) = raw.text_sz().unwrap();
114+
println!("TEXT(\"{}\", {:?})", x, sz);
115+
consume_elem(&mut lens);
116+
reduce_depth(&mut lens);
117+
},
118+
Ok(Type::Array) => {
119+
let len = raw.array_sz().unwrap();
120+
println!("ARRAY({:?}) {{", len);
121+
consume_elem(&mut lens);
122+
lens.push(len);
123+
if let cbor_event::LenSz::Len(0, _sz) = len {
147124
reduce_depth(&mut lens);
148-
} else {
149-
panic!("unexpected break");
150125
}
151-
} else {
126+
},
127+
Ok(Type::Map) => {
128+
let len = raw.map_sz().unwrap();
129+
println!("MAP({:?}) {{", len);
152130
consume_elem(&mut lens);
153-
reduce_depth(&mut lens);
154-
}
155-
},
131+
lens.push(match len {
132+
cbor_event::LenSz::Len(n, sz) => cbor_event::LenSz::Len(2 * n, sz),
133+
cbor_event::LenSz::Indefinite => cbor_event::LenSz::Indefinite,
134+
});
135+
if let cbor_event::LenSz::Len(0, _sz) = len {
136+
reduce_depth(&mut lens);
137+
}
138+
},
139+
Ok(Type::Tag) => {
140+
let (tag, sz) = raw.tag_sz().unwrap();
141+
println!("TAG({}, {:?})", tag, sz);
142+
},
143+
Ok(Type::Special) => {
144+
let special = raw.special().unwrap();
145+
println!("SPECIAL({:?})", special);
146+
if special == cbor_event::Special::Break {
147+
if let Some(cbor_event::LenSz::Indefinite) = lens.last() {
148+
lens.pop();
149+
reduce_depth(&mut lens);
150+
} else {
151+
panic!("unexpected break");
152+
}
153+
} else {
154+
consume_elem(&mut lens);
155+
reduce_depth(&mut lens);
156+
}
157+
},
158+
}
156159
}
160+
println!("}}");
157161
}
158-
println!("}}");
159162
}

0 commit comments

Comments
 (0)