()
| 91 | |
| 92 | #[test] |
| 93 | pub fn big_ms() { |
| 94 | let long_string = "a".repeat(50); |
| 95 | let mut meta_string_writer = MetaStringWriterResolver::default(); |
| 96 | let mut meta_string_reader = MetaStringReaderResolver::default(); |
| 97 | // test reset |
| 98 | for _ in 0..3 { |
| 99 | // write |
| 100 | let mut data = Vec::new(); |
| 101 | for i in 0..20 { |
| 102 | let meta_string = NAMESPACE_ENCODER |
| 103 | .encode(&format!("{long_string}_{i}")) |
| 104 | .unwrap(); |
| 105 | let rc_meta_string = Rc::from(meta_string); |
| 106 | // test cache |
| 107 | for _ in 0..3 { |
| 108 | data.push(rc_meta_string.clone()); |
| 109 | } |
| 110 | } |
| 111 | let mut buffer = vec![]; |
| 112 | let mut writer = Writer::from_buffer(&mut buffer); |
| 113 | for meta_string in data.iter() { |
| 114 | meta_string_writer |
| 115 | .write_meta_string_bytes(&mut writer, meta_string.clone()) |
| 116 | .unwrap(); |
| 117 | } |
| 118 | // read |
| 119 | let binding = writer.dump(); |
| 120 | let mut reader = Reader::new(binding.as_slice()); |
| 121 | let read_data: Vec<_> = (0..60) |
| 122 | .map(|_| { |
| 123 | meta_string_reader |
| 124 | .read_meta_string(&mut reader) |
| 125 | .unwrap() |
| 126 | .clone() |
| 127 | }) |
| 128 | .collect(); |
| 129 | for i in 0..60 { |
| 130 | assert_eq!(*data[i], read_data[i]); |
| 131 | } |
| 132 | meta_string_writer.reset(); |
| 133 | meta_string_reader.reset(); |
| 134 | } |
| 135 | } |
nothing calls this directly
no test coverage detected