mirror of
https://github.com/roc-lang/roc.git
synced 2024-11-14 07:29:02 +03:00
Format tests for comment position and new lines
This commit is contained in:
parent
2cd599851f
commit
edd8877865
@ -91,6 +91,97 @@ mod test_format {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn declaration_with_comment() {
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
# This variable is for greeting
|
||||||
|
a = "Hello"
|
||||||
|
a
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn declaration_with_comment_and_extra_space() {
|
||||||
|
expr_formats_to(indoc!(
|
||||||
|
r#"
|
||||||
|
# This variable is for greeting
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
a = "Hello"
|
||||||
|
a
|
||||||
|
"#
|
||||||
|
), indoc!(
|
||||||
|
r#"
|
||||||
|
# This variable is for greeting
|
||||||
|
|
||||||
|
a = "Hello"
|
||||||
|
a
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
// #[test]
|
||||||
|
// fn string_with_comment_behind() {
|
||||||
|
// expr_formats_same(indoc!(
|
||||||
|
// r#"
|
||||||
|
// "a" # b
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// #[test]
|
||||||
|
// fn string_with_comment_underneath() {
|
||||||
|
// expr_formats_to(
|
||||||
|
// indoc!(
|
||||||
|
// r#"
|
||||||
|
// "a"
|
||||||
|
// # b
|
||||||
|
// "#
|
||||||
|
// ), indoc!(
|
||||||
|
// r#"
|
||||||
|
// "a"
|
||||||
|
//
|
||||||
|
// # b
|
||||||
|
// "#
|
||||||
|
// )
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn func_def() {
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
f = \x y ->
|
||||||
|
x
|
||||||
|
|
||||||
|
f 4
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// #[test]
|
||||||
|
// fn func_def_inserts_line() {
|
||||||
|
// expr_formats_to(indoc!(
|
||||||
|
// r#"
|
||||||
|
// f = \x y ->
|
||||||
|
// x
|
||||||
|
// f 4
|
||||||
|
// "#
|
||||||
|
// ), indoc!(
|
||||||
|
// r#"
|
||||||
|
// f = \x y ->
|
||||||
|
// x
|
||||||
|
//
|
||||||
|
// f 4
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
// }
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn basic_string() {
|
fn basic_string() {
|
||||||
expr_formats_same(indoc!(
|
expr_formats_same(indoc!(
|
||||||
@ -216,6 +307,50 @@ mod test_format {
|
|||||||
42
|
42
|
||||||
"#
|
"#
|
||||||
));
|
));
|
||||||
|
|
||||||
|
// None of these work! Rust panics.
|
||||||
|
//
|
||||||
|
// expr_formats_same(indoc!(
|
||||||
|
// r#"
|
||||||
|
// x =
|
||||||
|
// 5
|
||||||
|
//
|
||||||
|
// 42
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
//
|
||||||
|
// expr_formats_same(indoc!(
|
||||||
|
// r#"
|
||||||
|
// x =
|
||||||
|
// # This is 5
|
||||||
|
// 5
|
||||||
|
//
|
||||||
|
// 42
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
//
|
||||||
|
// expr_formats_to(
|
||||||
|
// indoc!(
|
||||||
|
// r#"
|
||||||
|
// x =
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// # This is 5
|
||||||
|
// 5
|
||||||
|
//
|
||||||
|
// 42
|
||||||
|
// "#
|
||||||
|
// ),indoc!(
|
||||||
|
// r#"
|
||||||
|
// x =
|
||||||
|
//
|
||||||
|
// # This is 5
|
||||||
|
// 5
|
||||||
|
//
|
||||||
|
// 42
|
||||||
|
// "#
|
||||||
|
// )
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -228,6 +363,87 @@ mod test_format {
|
|||||||
42
|
42
|
||||||
"#
|
"#
|
||||||
));
|
));
|
||||||
|
|
||||||
|
expr_formats_to(indoc!(
|
||||||
|
r#"
|
||||||
|
x = 5
|
||||||
|
|
||||||
|
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
),indoc!(
|
||||||
|
r#"
|
||||||
|
x = 5
|
||||||
|
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn comment_betwen_two_defs() {
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
x = 5
|
||||||
|
# Hello
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
x = 5
|
||||||
|
# Hello
|
||||||
|
# two comments
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
x = 5
|
||||||
|
# Hello
|
||||||
|
# two comments
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
# v-- This is the return value
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn space_between_comments() {
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
# 9
|
||||||
|
|
||||||
|
# A
|
||||||
|
# B
|
||||||
|
|
||||||
|
# C
|
||||||
|
9
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn doesnt_detect_comment_in_comment() {
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
# One Comment # Still one Comment
|
||||||
|
9
|
||||||
|
"#
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -240,6 +456,17 @@ mod test_format {
|
|||||||
42
|
42
|
||||||
"#
|
"#
|
||||||
));
|
));
|
||||||
|
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
# A
|
||||||
|
(UserId userId) = 5
|
||||||
|
# B
|
||||||
|
y = 10
|
||||||
|
|
||||||
|
42
|
||||||
|
"#
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -273,6 +500,24 @@ mod test_format {
|
|||||||
identity 42
|
identity 42
|
||||||
"#
|
"#
|
||||||
));
|
));
|
||||||
|
|
||||||
|
// Parse Error
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
identity = \a ->
|
||||||
|
a
|
||||||
|
|
||||||
|
identity 42
|
||||||
|
"#
|
||||||
|
));
|
||||||
|
|
||||||
|
expr_formats_same(indoc!(
|
||||||
|
r#"
|
||||||
|
identity = \a -> a
|
||||||
|
# Hello
|
||||||
|
identity 42
|
||||||
|
"#
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
// RECORD LITERALS
|
// RECORD LITERALS
|
||||||
@ -323,6 +568,27 @@ mod test_format {
|
|||||||
"#
|
"#
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Parse Error!
|
||||||
|
// expr_formats_to(
|
||||||
|
// indoc!(
|
||||||
|
// r#"
|
||||||
|
// x = { x: 4
|
||||||
|
// , y: 42
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// x
|
||||||
|
// "#
|
||||||
|
// ),
|
||||||
|
// indoc!(
|
||||||
|
// r#"
|
||||||
|
// x = {
|
||||||
|
// x: 4,
|
||||||
|
// y: 42
|
||||||
|
// }
|
||||||
|
// "#
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -353,6 +619,55 @@ mod test_format {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test Fails!
|
||||||
|
//
|
||||||
|
// #[test]
|
||||||
|
// fn comment_in_f_forces_multiline() {
|
||||||
|
// expr_formats_to(
|
||||||
|
// indoc!(
|
||||||
|
// r#"
|
||||||
|
// if # Hello
|
||||||
|
// foo (a b c) then a b c else d e f
|
||||||
|
// "#
|
||||||
|
// ), indoc!(
|
||||||
|
// r#"
|
||||||
|
// if
|
||||||
|
// # Hello
|
||||||
|
// foo (a b c)
|
||||||
|
// then
|
||||||
|
// a b c
|
||||||
|
//
|
||||||
|
// else
|
||||||
|
// d e f
|
||||||
|
// "#
|
||||||
|
// ))
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Test Fails!
|
||||||
|
//
|
||||||
|
// #[test]
|
||||||
|
// fn multi_line_if() {
|
||||||
|
// expr_formats_same(indoc!(
|
||||||
|
// r#"
|
||||||
|
// if foo bar then
|
||||||
|
// a b c
|
||||||
|
//
|
||||||
|
// else
|
||||||
|
// d e f
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
//
|
||||||
|
// expr_formats_same(indoc!(
|
||||||
|
// r#"
|
||||||
|
// if foo (a b c) then
|
||||||
|
// a b c
|
||||||
|
//
|
||||||
|
// else
|
||||||
|
// d e f
|
||||||
|
// "#
|
||||||
|
// ));
|
||||||
|
// }
|
||||||
|
|
||||||
// CASE
|
// CASE
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
Loading…
Reference in New Issue
Block a user