Don't slice midway through multi-byte char when detecting line ending
This commit is contained in:
parent
5e2306d0e0
commit
113eb9b94f
2 changed files with 18 additions and 3 deletions
|
@ -154,6 +154,17 @@ fn test_random_edits(mut rng: StdRng) {
|
|||
|
||||
#[test]
|
||||
fn test_line_endings() {
|
||||
assert_eq!(LineEnding::detect(&"🍐✅\n".repeat(1000)), LineEnding::Unix);
|
||||
assert_eq!(LineEnding::detect(&"abcd\n".repeat(1000)), LineEnding::Unix);
|
||||
assert_eq!(
|
||||
LineEnding::detect(&"🍐✅\r\n".repeat(1000)),
|
||||
LineEnding::Windows
|
||||
);
|
||||
assert_eq!(
|
||||
LineEnding::detect(&"abcd\r\n".repeat(1000)),
|
||||
LineEnding::Windows
|
||||
);
|
||||
|
||||
let mut buffer = Buffer::new(0, 0, "one\r\ntwo".into());
|
||||
assert_eq!(buffer.text(), "one\ntwo");
|
||||
assert_eq!(buffer.line_ending(), LineEnding::Windows);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue