summaryrefslogtreecommitdiff
path: root/vendor/writeable/src/testing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/writeable/src/testing.rs')
-rw-r--r--vendor/writeable/src/testing.rs78
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())
-}