diff options
Diffstat (limited to 'vendor/writeable/src/testing.rs')
| -rw-r--r-- | vendor/writeable/src/testing.rs | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/vendor/writeable/src/testing.rs b/vendor/writeable/src/testing.rs deleted file mode 100644 index 078ea9e2..00000000 --- a/vendor/writeable/src/testing.rs +++ /dev/null @@ -1,78 +0,0 @@ -// This file is part of ICU4X. For terms of use, please see the file -// called LICENSE at the top level of the ICU4X source tree -// (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). - -use crate::*; -use alloc::string::String; -use alloc::vec::Vec; - -pub(crate) struct TestWriter { - pub(crate) string: String, - pub(crate) parts: Vec<(usize, usize, Part)>, -} - -impl TestWriter { - pub(crate) fn finish(mut self) -> (String, Vec<(usize, usize, Part)>) { - // Sort by first open and last closed - self.parts - .sort_unstable_by_key(|(begin, end, _)| (*begin, end.wrapping_neg())); - (self.string, self.parts) - } -} - -impl fmt::Write for TestWriter { - fn write_str(&mut self, s: &str) -> fmt::Result { - self.string.write_str(s) - } - fn write_char(&mut self, c: char) -> fmt::Result { - self.string.write_char(c) - } -} - -impl PartsWrite for TestWriter { - type SubPartsWrite = Self; - fn with_part( - &mut self, - part: Part, - mut f: impl FnMut(&mut Self::SubPartsWrite) -> fmt::Result, - ) -> fmt::Result { - let start = self.string.len(); - f(self)?; - let end = self.string.len(); - if start < end { - self.parts.push((start, end, part)); - } - Ok(()) - } -} - -#[allow(clippy::type_complexity)] -pub fn writeable_to_parts_for_test<W: Writeable>( - writeable: &W, -) -> (String, Vec<(usize, usize, Part)>) { - let mut writer = TestWriter { - string: alloc::string::String::new(), - parts: Vec::new(), - }; - #[allow(clippy::expect_used)] // for test code - writeable - .write_to_parts(&mut writer) - .expect("String writer infallible"); - writer.finish() -} - -#[allow(clippy::type_complexity)] -pub fn try_writeable_to_parts_for_test<W: TryWriteable>( - writeable: &W, -) -> (String, Vec<(usize, usize, Part)>, Option<W::Error>) { - let mut writer = TestWriter { - string: alloc::string::String::new(), - parts: Vec::new(), - }; - #[allow(clippy::expect_used)] // for test code - let result = writeable - .try_write_to_parts(&mut writer) - .expect("String writer infallible"); - let (actual_str, actual_parts) = writer.finish(); - (actual_str, actual_parts, result.err()) -} |
