Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions prqlc/bindings/prqlc-python/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ mod test {

assert_snapshot!(
compile("from employees | filter (age | in 20..30)", opts).unwrap(),
@r"
@"
SELECT
*
FROM
Expand All @@ -206,7 +206,7 @@ mod test {

let prql = r#"from artists | select {name, id} | filter (id | in [1, 2, 3])"#;
assert_snapshot!(
prql_to_pl(prql).and_then(|x| pl_to_rq(x.as_str())).and_then(|x|rq_to_sql(x.as_str(), opts)).unwrap(), @r"
prql_to_pl(prql).and_then(|x| pl_to_rq(x.as_str())).and_then(|x|rq_to_sql(x.as_str(), opts)).unwrap(), @"
SELECT
name,
id
Expand All @@ -221,7 +221,7 @@ mod test {
fn prql_pl_prql_roundtrip() {
let prql = r#"from artists | select {name, id} | filter (id | in [1, 2, 3])"#;
assert_snapshot!(
prql_to_pl(prql).and_then(|x| pl_to_prql(x.as_str())).unwrap(), @r"
prql_to_pl(prql).and_then(|x| pl_to_prql(x.as_str())).unwrap(), @"
from artists
select {name, id}
filter (id | in [1, 2, 3])
Expand All @@ -232,15 +232,15 @@ mod test {
fn debug_prql_lineage() {
assert_snapshot!(
debug::prql_lineage(r#"from a | select { beta, gamma }"#).unwrap(),
@r#"{"frames":[["1:9-31",{"columns":[{"Single":{"name":["a","beta"],"target_id":120,"target_name":null}},{"Single":{"name":["a","gamma"],"target_id":121,"target_name":null}}],"inputs":[{"id":118,"name":"a","table":["default_db","a"]}]}]],"nodes":[{"id":118,"kind":"Ident","span":"1:0-6","ident":{"Ident":["default_db","a"]},"parent":123},{"id":120,"kind":"Ident","span":"1:18-22","ident":{"Ident":["this","a","beta"]},"targets":[118],"parent":122},{"id":121,"kind":"Ident","span":"1:24-29","ident":{"Ident":["this","a","gamma"]},"targets":[118],"parent":122},{"id":122,"kind":"Tuple","span":"1:16-31","children":[120,121],"parent":123},{"id":123,"kind":"TransformCall: Select","span":"1:9-31","children":[118,122]}],"ast":{"name":"Project","stmts":[{"VarDef":{"kind":"Main","name":"main","value":{"Pipeline":{"exprs":[{"FuncCall":{"name":{"Ident":["from"],"span":"1:0-4"},"args":[{"Ident":["a"],"span":"1:5-6"}]},"span":"1:0-6"},{"FuncCall":{"name":{"Ident":["select"],"span":"1:9-15"},"args":[{"Tuple":[{"Ident":["beta"],"span":"1:18-22"},{"Ident":["gamma"],"span":"1:24-29"}],"span":"1:16-31"}]},"span":"1:9-31"}]},"span":"1:0-31"}},"span":"1:0-31"}]}}"#
@r#"{"frames":[["1:9-31",{"columns":[{"Single":{"name":["a","beta"],"target_id":121,"target_name":null}},{"Single":{"name":["a","gamma"],"target_id":122,"target_name":null}}],"inputs":[{"id":119,"name":"a","table":["default_db","a"]}]}]],"nodes":[{"id":119,"kind":"Ident","span":"1:0-6","ident":{"Ident":["default_db","a"]},"parent":124},{"id":121,"kind":"Ident","span":"1:18-22","ident":{"Ident":["this","a","beta"]},"targets":[119],"parent":123},{"id":122,"kind":"Ident","span":"1:24-29","ident":{"Ident":["this","a","gamma"]},"targets":[119],"parent":123},{"id":123,"kind":"Tuple","span":"1:16-31","children":[121,122],"parent":124},{"id":124,"kind":"TransformCall: Select","span":"1:9-31","children":[119,123]}],"ast":{"name":"Project","stmts":[{"VarDef":{"kind":"Main","name":"main","value":{"Pipeline":{"exprs":[{"FuncCall":{"name":{"Ident":["from"],"span":"1:0-4"},"args":[{"Ident":["a"],"span":"1:5-6"}]},"span":"1:0-6"},{"FuncCall":{"name":{"Ident":["select"],"span":"1:9-15"},"args":[{"Tuple":[{"Ident":["beta"],"span":"1:18-22"},{"Ident":["gamma"],"span":"1:24-29"}],"span":"1:16-31"}]},"span":"1:9-31"}]},"span":"1:0-31"}},"span":"1:0-31"}]}}"#
);
}

#[test]
fn debug_pl_to_lineage() {
assert_snapshot!(
prql_to_pl(r#"from a | select { beta, gamma }"#).and_then(|x| debug::pl_to_lineage(&x)).unwrap(),
@r#"{"frames":[["1:9-31",{"columns":[{"Single":{"name":["a","beta"],"target_id":120,"target_name":null}},{"Single":{"name":["a","gamma"],"target_id":121,"target_name":null}}],"inputs":[{"id":118,"name":"a","table":["default_db","a"]}]}]],"nodes":[{"id":118,"kind":"Ident","span":"1:0-6","ident":{"Ident":["default_db","a"]},"parent":123},{"id":120,"kind":"Ident","span":"1:18-22","ident":{"Ident":["this","a","beta"]},"targets":[118],"parent":122},{"id":121,"kind":"Ident","span":"1:24-29","ident":{"Ident":["this","a","gamma"]},"targets":[118],"parent":122},{"id":122,"kind":"Tuple","span":"1:16-31","children":[120,121],"parent":123},{"id":123,"kind":"TransformCall: Select","span":"1:9-31","children":[118,122]}],"ast":{"name":"Project","stmts":[{"VarDef":{"kind":"Main","name":"main","value":{"Pipeline":{"exprs":[{"FuncCall":{"name":{"Ident":["from"],"span":"1:0-4"},"args":[{"Ident":["a"],"span":"1:5-6"}]},"span":"1:0-6"},{"FuncCall":{"name":{"Ident":["select"],"span":"1:9-15"},"args":[{"Tuple":[{"Ident":["beta"],"span":"1:18-22"},{"Ident":["gamma"],"span":"1:24-29"}],"span":"1:16-31"}]},"span":"1:9-31"}]},"span":"1:0-31"}},"span":"1:0-31"}]}}"#
@r#"{"frames":[["1:9-31",{"columns":[{"Single":{"name":["a","beta"],"target_id":121,"target_name":null}},{"Single":{"name":["a","gamma"],"target_id":122,"target_name":null}}],"inputs":[{"id":119,"name":"a","table":["default_db","a"]}]}]],"nodes":[{"id":119,"kind":"Ident","span":"1:0-6","ident":{"Ident":["default_db","a"]},"parent":124},{"id":121,"kind":"Ident","span":"1:18-22","ident":{"Ident":["this","a","beta"]},"targets":[119],"parent":123},{"id":122,"kind":"Ident","span":"1:24-29","ident":{"Ident":["this","a","gamma"]},"targets":[119],"parent":123},{"id":123,"kind":"Tuple","span":"1:16-31","children":[121,122],"parent":124},{"id":124,"kind":"TransformCall: Select","span":"1:9-31","children":[119,123]}],"ast":{"name":"Project","stmts":[{"VarDef":{"kind":"Main","name":"main","value":{"Pipeline":{"exprs":[{"FuncCall":{"name":{"Ident":["from"],"span":"1:0-4"},"args":[{"Ident":["a"],"span":"1:5-6"}]},"span":"1:0-6"},{"FuncCall":{"name":{"Ident":["select"],"span":"1:9-15"},"args":[{"Tuple":[{"Ident":["beta"],"span":"1:18-22"},{"Ident":["gamma"],"span":"1:24-29"}],"span":"1:16-31"}]},"span":"1:9-31"}]},"span":"1:0-31"}},"span":"1:0-31"}]}}"#
);
}
}
92 changes: 46 additions & 46 deletions prqlc/prqlc-parser/src/lexer/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ fn line_wrap() {

// Basic line wrap test
assert_debug_snapshot!(test_line_wrap_tokens(r"5 +
\ 3 "), @r"
\ 3 "), @"
Tokens(
[
0..1: Literal(Integer(5)),
Expand Down Expand Up @@ -77,7 +77,7 @@ fn debug_display() {
Tokens(lexer().parse(input).output().unwrap().to_vec())
}

assert_debug_snapshot!(test_tokens("5 + 3"), @r"
assert_debug_snapshot!(test_tokens("5 + 3"), @"
Tokens(
[
0..1: Literal(Integer(5)),
Expand Down Expand Up @@ -221,7 +221,7 @@ fn range() {
Tokens(lexer().parse(input).output().unwrap().to_vec())
}

assert_debug_snapshot!(test_range_tokens("1..2"), @r"
assert_debug_snapshot!(test_range_tokens("1..2"), @"
Tokens(
[
0..1: Literal(Integer(1)),
Expand All @@ -231,7 +231,7 @@ fn range() {
)
");

assert_debug_snapshot!(test_range_tokens("..2"), @r"
assert_debug_snapshot!(test_range_tokens("..2"), @"
Tokens(
[
0..2: Range { bind_left: true, bind_right: true },
Expand All @@ -240,7 +240,7 @@ fn range() {
)
");

assert_debug_snapshot!(test_range_tokens("1.."), @r"
assert_debug_snapshot!(test_range_tokens("1.."), @"
Tokens(
[
0..1: Literal(Integer(1)),
Expand All @@ -267,7 +267,7 @@ fn range() {
fn test_lex_source() {
use insta::assert_debug_snapshot;

assert_debug_snapshot!(lex_source("5 + 3"), @r"
assert_debug_snapshot!(lex_source("5 + 3"), @"
Ok(
Tokens(
[
Expand All @@ -291,20 +291,20 @@ fn test_annotation_tokens() {
// Test basic annotation token
let result = super::lex_source("@{binding_strength=1}");
assert_debug_snapshot!(result, @r#"
Ok(
Tokens(
[
0..0: Start,
0..1: Annotate,
1..2: Control('{'),
2..18: Ident("binding_strength"),
18..19: Control('='),
19..20: Literal(Integer(1)),
20..21: Control('}'),
],
),
)
"#);
Ok(
Tokens(
[
0..0: Start,
0..1: Annotate,
1..2: Control('{'),
2..18: Ident("binding_strength"),
18..19: Control('='),
19..20: Literal(Integer(1)),
20..21: Control('}'),
],
),
)
"#);

// Test multi-line annotation
let result = super::lex_source(
Expand All @@ -314,32 +314,32 @@ fn test_annotation_tokens() {
"#,
);
assert_debug_snapshot!(result, @r#"
Ok(
Tokens(
[
0..0: Start,
0..1: NewLine,
9..10: Annotate,
10..11: Control('{'),
11..27: Ident("binding_strength"),
27..28: Control('='),
28..29: Literal(Integer(1)),
29..30: Control('}'),
30..31: NewLine,
39..42: Keyword("let"),
43..46: Ident("add"),
47..48: Control('='),
49..50: Ident("a"),
51..52: Ident("b"),
53..55: ArrowThin,
56..57: Ident("a"),
58..59: Control('+'),
60..61: Ident("b"),
61..62: NewLine,
],
),
)
"#);
Ok(
Tokens(
[
0..0: Start,
0..1: NewLine,
9..10: Annotate,
10..11: Control('{'),
11..27: Ident("binding_strength"),
27..28: Control('='),
28..29: Literal(Integer(1)),
29..30: Control('}'),
30..31: NewLine,
39..42: Keyword("let"),
43..46: Ident("add"),
47..48: Control('='),
49..50: Ident("a"),
51..52: Ident("b"),
53..55: ArrowThin,
56..57: Ident("a"),
58..59: Control('+'),
60..61: Ident("b"),
61..62: NewLine,
],
),
)
"#);
}

#[test]
Expand Down
10 changes: 5 additions & 5 deletions prqlc/prqlc/src/cli/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ sort full
"",
);

assert_snapshot!(&result.unwrap_err().to_string(), @r"
assert_snapshot!(&result.unwrap_err().to_string(), @"
Error:
╭─[ :1:1 ]
Expand Down Expand Up @@ -742,7 +742,7 @@ sort full
"main",
)
.unwrap();
assert_snapshot!(String::from_utf8(result).unwrap().trim(), @r"
assert_snapshot!(String::from_utf8(result).unwrap().trim(), @"
WITH x AS (
SELECT
y,
Expand All @@ -769,7 +769,7 @@ sort full
)
.unwrap();

assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r"
assert_snapshot!(String::from_utf8(output).unwrap().trim(), @"
name: Project
stmts:
- VarDef:
Expand Down Expand Up @@ -816,7 +816,7 @@ sort full

// TODO: terser output; maybe serialize span as `0..4`? Remove the
// `!Ident` complication?
assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r"
assert_snapshot!(String::from_utf8(output).unwrap().trim(), @"
- kind: Start
span:
start: 0
Expand Down Expand Up @@ -859,7 +859,7 @@ sort full
)
.unwrap();

assert_snapshot!(String::from_utf8(output).unwrap().trim(), @r"
assert_snapshot!(String::from_utf8(output).unwrap().trim(), @"
- kind: Start
span:
start: 0
Expand Down
Loading
Loading