MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / verify_pretty_expr

Function verify_pretty_expr

src/sql-pretty/tests/parser.rs:40–77  ·  view source on GitHub ↗
(expr: &str)

Source from the content-addressed store, hash-verified

38}
39
40fn verify_pretty_expr(expr: &str) {
41 let Ok(original) = parse_expr(expr) else {
42 return;
43 };
44 for n in &[1, 40, 1000000] {
45 let n = *n;
46 let pretty1 = format!(
47 "{}",
48 Pretty {
49 config: PrettyConfig {
50 width: n,
51 format_mode: FormatMode::Simple
52 }
53 }
54 .doc_expr(&original)
55 .pretty(n)
56 );
57 let prettied = parse_expr(&pretty1)
58 .unwrap_or_else(|_| panic!("could not parse: {pretty1}, original: {expr}"));
59 let pretty2 = format!(
60 "{}",
61 Pretty {
62 config: PrettyConfig {
63 width: n,
64 format_mode: FormatMode::Simple
65 }
66 }
67 .doc_expr(&prettied)
68 .pretty(n)
69 );
70 assert_eq!(pretty1, pretty2);
71 assert_eq!(
72 original.to_ast_string_stable(),
73 prettied.to_ast_string_stable(),
74 "\noriginal: {expr}",
75 );
76 }
77}
78
79fn verify_pretty_statement(stmt: &str) {
80 let original = match parse_statements(stmt) {

Callers 1

test_parserFunction · 0.85

Calls 1

parse_exprFunction · 0.50

Tested by

no test coverage detected