extern crate tphrase;
use tphrase::*;
#[test]
fn test_trunc_syntax() {
let s = "main = \"0123456789\"".to_string();
assert_eq!(trunc_syntax(&mut s.chars(), 40), "main = \"0123456789\"");
assert_eq!(
trunc_syntax(&mut s[..].chars(), 40),
"main = \"0123456789\""
);
}
#[test]
fn test_trunc_syntax_str() {
assert_eq!(
trunc_syntax_str("main = \"0123456789\"", 40),
"main = \"0123456789\""
);
assert_eq!(
trunc_syntax_str(
"
main = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
",
30
),
"main = 0 | 1 | 2 | 3 | 4 | 5 |..."
);
assert_eq!(
trunc_syntax_str(
"
main = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
",
25
),
"main = 0 | 1 | 2 | 3 | 4..."
);
assert_eq!(
trunc_syntax_str(
"
main = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
",
15
),
"main = 0 | 1 |..."
);
assert_eq!(
trunc_syntax_str("main = Hello, World!", 10),
"main = Hello,..."
);
assert_eq!(trunc_syntax_str("main = A A!", 10), "main = A...");
assert_eq!(
trunc_syntax_str(" main = A A A!", 14),
"main = A A..."
);
assert_eq!(
trunc_syntax_str(
"
main = {HELLO}, {WORLD}!
HELLO = Hello
WORLD = World
",
10
),
"main = {HELLO},..."
);
}
#[test]
fn test_truncate_preceding_spaces() {
assert_eq!(
trunc_syntax_str(
"
\t main = \"0123456789\"",
40
),
"main = \"0123456789\""
);
}
#[test]
fn test_truncate_succeeding_spaces() {
assert_eq!(
trunc_syntax_str("main = \"0123456789\"\t", 40),
"main = \"0123456789\""
);
}
#[test]
fn test_truncate_characters() {
assert_eq!(
trunc_syntax_str(
"
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
40
),
"||||||||||||||||||||||||||||||||||||||||..."
);
assert_eq!(
trunc_syntax_str(
"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
40
),
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~..."
);
assert_eq!(
trunc_syntax_str(
"
=================================================================",
40
),
"========================================..."
);
assert_eq!(
trunc_syntax_str(
"
a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a",
40
),
"a a a a a a a a a a a a a a a a a a a a..."
);
assert_eq!(trunc_syntax_str("
a\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta", 40), "a\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta\ta...");
}
#[test]
fn test_not_truncate_characters() {
assert_eq!(
trunc_syntax_str(
"
-----------------------------------------------------------------",
40
),
"-----------------------------------------------------------------"
);
assert_eq!(
trunc_syntax_str(
"
jugemujugemugokounosurikirekaijarisuigyonosuigyoumatuunraimatuhuuraimatu",
40
),
"jugemujugemugokounosurikirekaijarisuigyonosuigyoumatuunraimatuhuuraimatu"
);
}
#[test]
fn test_truncate_nl() {
assert_eq!(
trunc_syntax_str(
"
1 2 3
",
40
),
"1 2 3..."
);
}