Implement dedent proc_macro
This commit is contained in:
commit
57079b4cd3
4 changed files with 224 additions and 0 deletions
100
tests/main.rs
Normal file
100
tests/main.rs
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
use dedent::dedent;
|
||||
|
||||
#[test]
|
||||
fn dedent_typical() {
|
||||
assert_eq!(
|
||||
dedent! {"
|
||||
foo
|
||||
|
||||
bar
|
||||
baz
|
||||
"},
|
||||
"foo\n\n bar\nbaz"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_typical_parens() {
|
||||
assert_eq!(
|
||||
dedent!(
|
||||
"
|
||||
foo
|
||||
bar
|
||||
|
||||
baz
|
||||
|
||||
"
|
||||
),
|
||||
"foo\n bar\n\nbaz"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_whitespace() {
|
||||
assert_eq!(
|
||||
dedent! {"
|
||||
|
||||
|
||||
"},
|
||||
""
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_trim_trailing() {
|
||||
assert_eq!(
|
||||
dedent! {"
|
||||
trailing:
|
||||
"},
|
||||
"trailing:"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_flat() {
|
||||
assert_eq!(dedent! {"foo"}, "foo");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_raw_no_padding() {
|
||||
assert_eq!(
|
||||
dedent! {r"
|
||||
fo\o
|
||||
bar
|
||||
"},
|
||||
"fo\\o\n bar"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_raw_with_padding() {
|
||||
assert_eq!(
|
||||
dedent! {r###"
|
||||
fo\o
|
||||
#bar
|
||||
"###},
|
||||
"fo\\o\n #bar"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_c_string() {
|
||||
assert_eq!(
|
||||
dedent! {c"
|
||||
foo
|
||||
bar
|
||||
"},
|
||||
c"foo\n bar"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dedent_raw_c_string() {
|
||||
assert_eq!(
|
||||
dedent! {cr##"
|
||||
f\oo
|
||||
b#ar
|
||||
"##},
|
||||
c"f\\oo\n b#ar"
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue