lineiter

Crates.iolineiter
lib.rslineiter
version0.1.4
sourcesrc
created_at2024-07-15 06:47:50.235469
updated_at2024-08-17 13:04:37.483097
descriptionlineiter
homepagehttps://github.com/i18n-site/rust/tree/main/lineiter
repositoryhttps://github.com/i18n-site/rust.git
max_upload_size
id1303540
size6,131
i18n.site (i18nsite)

documentation

README

lineiter

use lineiter::LineIter;

#[test]
fn test_line_iter() {
  let data = b"line1\nline2\r\nline3\rline4";
  let expected_lines = [
    "line1".to_string(),
    "line2".to_string(),
    "line3".to_string(),
    "line4".to_string(),
  ];

  // let data = b"line1";
  // let expected_lines = ["line1".to_string()];

  let lines = LineIter::new(&data[..]);

  let mut n = 0;

  for (line, expected) in lines.zip(expected_lines.iter()) {
    match line {
      Ok(line) => {
        n += 1;
        dbg!(&line);
        assert_eq!(line, *expected)
      }
      Err(e) => panic!("Error: {}", e),
    }
  }
  assert_eq!(n, expected_lines.len());
}

About

This project is an open-source component of i18n.site ⋅ Internationalization Solution.

关于

本项目为 i18n.site ⋅ 国际化解决方案 的开源组件。

Commit count: 22

cargo fmt