melib/wcwidth: move tests to tests module
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>pull/340/head
parent
7861fb0402
commit
ddab3179c2
|
@ -125,34 +125,6 @@ pub fn wcwidth(ucs: WChar) -> Option<usize> {
|
|||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_wcwidth() {
|
||||
assert_eq!(
|
||||
&"abc\0".code_points().collect::<Vec<_>>(),
|
||||
&[0x61, 0x62, 0x63, 0x0]
|
||||
);
|
||||
assert_eq!(&"β".code_points().collect::<Vec<_>>(), &[0x25cf]);
|
||||
assert_eq!(&"π".code_points().collect::<Vec<_>>(), &[0x1f4ce]);
|
||||
assert_eq!(
|
||||
&"πΌΉπΌΊπΌ»πΌΌπΌ½".code_points().collect::<Vec<_>>(),
|
||||
&[0x10F39, 0x10F3A, 0x10F3B, 0x10F3C, 0x10F3D]
|
||||
); // Sogdian alphabet
|
||||
assert_eq!(
|
||||
&"πΌΉaπΌ½b".code_points().collect::<Vec<_>>(),
|
||||
&[0x10F39, 0x61, 0x10F3D, 0x62]
|
||||
); // Sogdian alphabet
|
||||
assert_eq!(
|
||||
&"π\u{FE0E}".code_points().collect::<Vec<_>>(),
|
||||
&[0x1f4ce, 0xfe0e]
|
||||
);
|
||||
use crate::text::grapheme_clusters::TextProcessing;
|
||||
assert_eq!("β".grapheme_width(), 1);
|
||||
assert_eq!("βπ".grapheme_width(), 3);
|
||||
assert_eq!("β\u{FE0E}π\u{FE0E}".grapheme_width(), 3);
|
||||
assert_eq!("π".grapheme_width(), 2);
|
||||
assert_eq!("π»".grapheme_width(), 2);
|
||||
}
|
||||
|
||||
pub fn wcswidth(mut pwcs: WChar, mut n: usize) -> Option<usize> {
|
||||
let mut width = 0;
|
||||
|
||||
|
@ -169,3 +141,39 @@ pub fn wcswidth(mut pwcs: WChar, mut n: usize) -> Option<usize> {
|
|||
|
||||
Some(width)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::text::grapheme_clusters::TextProcessing;
|
||||
|
||||
#[test]
|
||||
fn test_wcwidth() {
|
||||
assert_eq!(
|
||||
&"abc\0".code_points().collect::<Vec<_>>(),
|
||||
&[0x61, 0x62, 0x63, 0x0]
|
||||
);
|
||||
assert_eq!(&"β".code_points().collect::<Vec<_>>(), &[0x25cf]);
|
||||
assert_eq!(&"π".code_points().collect::<Vec<_>>(), &[0x1f4ce]);
|
||||
assert_eq!(
|
||||
&"πΌΉπΌΊπΌ»πΌΌπΌ½".code_points().collect::<Vec<_>>(),
|
||||
&[0x10F39, 0x10F3A, 0x10F3B, 0x10F3C, 0x10F3D]
|
||||
); // Sogdian alphabet
|
||||
assert_eq!(
|
||||
&"πΌΉaπΌ½b".code_points().collect::<Vec<_>>(),
|
||||
&[0x10F39, 0x61, 0x10F3D, 0x62]
|
||||
); // Sogdian alphabet
|
||||
assert_eq!(
|
||||
&"π\u{FE0E}".code_points().collect::<Vec<_>>(),
|
||||
&[0x1f4ce, 0xfe0e]
|
||||
);
|
||||
assert_eq!("β".grapheme_width(), 1);
|
||||
assert_eq!("βπ".grapheme_width(), 3);
|
||||
assert_eq!("β\u{FE0E}π\u{FE0E}".grapheme_width(), 3);
|
||||
assert_eq!("π".grapheme_width(), 2);
|
||||
assert_eq!("π»".grapheme_width(), 2);
|
||||
|
||||
assert_eq!("γγγ«γ‘γδΈη".grapheme_width(), 14);
|
||||
assert_eq!("γβ
γβ γ«βγ‘β²γβδΈβη".grapheme_width(), 20);
|
||||
}
|
||||
}
|
||||
|
|
Loadingβ¦
Reference in New Issue