mirror of
https://github.com/zaphar/ucg.git
synced 2025-07-22 18:19:54 -04:00
REFACTOR: Remove the err field, rename indent -> indent_size
This commit is contained in:
parent
6661e02a75
commit
d884ea9385
@ -23,13 +23,12 @@ pub struct AstPrinter<'a, W>
|
|||||||
where
|
where
|
||||||
W: Write,
|
W: Write,
|
||||||
{
|
{
|
||||||
indent: usize,
|
indent_size: usize,
|
||||||
curr_indent: usize,
|
curr_indent: usize,
|
||||||
w: W,
|
w: W,
|
||||||
// Indexed by line that the comment was on.
|
// Indexed by line that the comment was on.
|
||||||
// We use this to determine when to print a comment in our AstPrinter
|
// We use this to determine when to print a comment in our AstPrinter
|
||||||
comment_map: Option<&'a CommentMap>,
|
comment_map: Option<&'a CommentMap>,
|
||||||
pub err: Option<std::io::Error>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(jwall): At some point we probably want to be more aware of line length
|
// TODO(jwall): At some point we probably want to be more aware of line length
|
||||||
@ -40,11 +39,10 @@ where
|
|||||||
{
|
{
|
||||||
pub fn new(indent: usize, w: W) -> Self {
|
pub fn new(indent: usize, w: W) -> Self {
|
||||||
AstPrinter {
|
AstPrinter {
|
||||||
indent: indent,
|
indent_size: indent,
|
||||||
curr_indent: 0,
|
curr_indent: 0,
|
||||||
comment_map: None,
|
comment_map: None,
|
||||||
w: w,
|
w: w,
|
||||||
err: None,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,7 +79,7 @@ where
|
|||||||
|
|
||||||
fn render_list_def(&mut self, def: &ListDef) -> std::io::Result<()> {
|
fn render_list_def(&mut self, def: &ListDef) -> std::io::Result<()> {
|
||||||
write!(self.w, "[")?;
|
write!(self.w, "[")?;
|
||||||
self.curr_indent += self.indent;
|
self.curr_indent += self.indent_size;
|
||||||
let indent = self.make_indent();
|
let indent = self.make_indent();
|
||||||
let has_fields = def.elems.len() > 0;
|
let has_fields = def.elems.len() > 0;
|
||||||
if has_fields {
|
if has_fields {
|
||||||
@ -92,7 +90,7 @@ where
|
|||||||
self.render_expr(e)?;
|
self.render_expr(e)?;
|
||||||
write!(self.w, ",\n")?;
|
write!(self.w, ",\n")?;
|
||||||
}
|
}
|
||||||
self.curr_indent -= self.indent;
|
self.curr_indent -= self.indent_size;
|
||||||
if has_fields {
|
if has_fields {
|
||||||
write!(self.w, "{}", self.make_indent())?;
|
write!(self.w, "{}", self.make_indent())?;
|
||||||
}
|
}
|
||||||
@ -103,7 +101,7 @@ where
|
|||||||
fn render_tuple_def(&mut self, def: &Vec<(Token, Expression)>) -> std::io::Result<()> {
|
fn render_tuple_def(&mut self, def: &Vec<(Token, Expression)>) -> std::io::Result<()> {
|
||||||
self.w.write(&['{' as u8])?;
|
self.w.write(&['{' as u8])?;
|
||||||
// If the field list is just 1 we might be able to collapse the tuple.
|
// If the field list is just 1 we might be able to collapse the tuple.
|
||||||
self.curr_indent += self.indent;
|
self.curr_indent += self.indent_size;
|
||||||
let indent = self.make_indent();
|
let indent = self.make_indent();
|
||||||
let has_fields = def.len() > 0;
|
let has_fields = def.len() > 0;
|
||||||
if has_fields {
|
if has_fields {
|
||||||
@ -120,7 +118,7 @@ where
|
|||||||
write!(&mut self.w, ",")?;
|
write!(&mut self.w, ",")?;
|
||||||
write!(self.w, "\n")?;
|
write!(self.w, "\n")?;
|
||||||
}
|
}
|
||||||
self.curr_indent -= self.indent;
|
self.curr_indent -= self.indent_size;
|
||||||
if has_fields {
|
if has_fields {
|
||||||
write!(self.w, "{}", self.make_indent())?;
|
write!(self.w, "{}", self.make_indent())?;
|
||||||
}
|
}
|
||||||
@ -187,7 +185,7 @@ where
|
|||||||
Expression::Call(_def) => {
|
Expression::Call(_def) => {
|
||||||
self.render_value(&_def.funcref)?;
|
self.render_value(&_def.funcref)?;
|
||||||
self.w.write("(".as_bytes())?;
|
self.w.write("(".as_bytes())?;
|
||||||
self.curr_indent += self.indent;
|
self.curr_indent += self.indent_size;
|
||||||
let indent = self.make_indent();
|
let indent = self.make_indent();
|
||||||
let has_args = _def.arglist.len() > 1;
|
let has_args = _def.arglist.len() > 1;
|
||||||
if has_args {
|
if has_args {
|
||||||
@ -202,7 +200,7 @@ where
|
|||||||
self.w.write(",\n".as_bytes())?;
|
self.w.write(",\n".as_bytes())?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.curr_indent -= self.indent;
|
self.curr_indent -= self.indent_size;
|
||||||
if has_args {
|
if has_args {
|
||||||
write!(self.w, "{}", self.make_indent())?;
|
write!(self.w, "{}", self.make_indent())?;
|
||||||
}
|
}
|
||||||
@ -229,7 +227,7 @@ where
|
|||||||
}
|
}
|
||||||
FormatArgs::List(ref es) => {
|
FormatArgs::List(ref es) => {
|
||||||
self.w.write("(\n".as_bytes())?;
|
self.w.write("(\n".as_bytes())?;
|
||||||
self.curr_indent += self.indent;
|
self.curr_indent += self.indent_size;
|
||||||
let indent = self.make_indent();
|
let indent = self.make_indent();
|
||||||
let mut prefix = "";
|
let mut prefix = "";
|
||||||
for e in es.iter() {
|
for e in es.iter() {
|
||||||
@ -237,7 +235,7 @@ where
|
|||||||
self.render_expr(e)?;
|
self.render_expr(e)?;
|
||||||
prefix = ",\n";
|
prefix = ",\n";
|
||||||
}
|
}
|
||||||
self.curr_indent -= self.indent;
|
self.curr_indent -= self.indent_size;
|
||||||
self.w.write(")".as_bytes())?;
|
self.w.write(")".as_bytes())?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -311,13 +309,13 @@ where
|
|||||||
write!(self.w, ") ")?;
|
write!(self.w, ") ")?;
|
||||||
}
|
}
|
||||||
write!(self.w, "{{\n")?;
|
write!(self.w, "{{\n")?;
|
||||||
self.curr_indent += self.indent;
|
self.curr_indent += self.indent_size;
|
||||||
let indent = self.make_indent();
|
let indent = self.make_indent();
|
||||||
for stmt in _def.statements.iter() {
|
for stmt in _def.statements.iter() {
|
||||||
write!(self.w, "{}", indent)?;
|
write!(self.w, "{}", indent)?;
|
||||||
self.render_stmt(stmt)?;
|
self.render_stmt(stmt)?;
|
||||||
}
|
}
|
||||||
self.curr_indent -= self.indent;
|
self.curr_indent -= self.indent_size;
|
||||||
write!(self.w, "}}")?;
|
write!(self.w, "}}")?;
|
||||||
}
|
}
|
||||||
Expression::Not(_def) => {
|
Expression::Not(_def) => {
|
||||||
@ -360,30 +358,25 @@ where
|
|||||||
}
|
}
|
||||||
Statement::Expression(_expr) => {
|
Statement::Expression(_expr) => {
|
||||||
self.render_expr(&_expr)?;
|
self.render_expr(&_expr)?;
|
||||||
//
|
|
||||||
}
|
}
|
||||||
Statement::Assert(def) => {
|
Statement::Assert(def) => {
|
||||||
write!(&mut self.w, "assert ")?;
|
write!(&mut self.w, "assert ")?;
|
||||||
self.render_expr(&def)?;
|
self.render_expr(&def)?;
|
||||||
//
|
|
||||||
}
|
}
|
||||||
Statement::Output(_, _tok, _expr) => {
|
Statement::Output(_, _tok, _expr) => {
|
||||||
write!(&mut self.w, "out {} ", _tok.fragment)?;
|
write!(&mut self.w, "out {} ", _tok.fragment)?;
|
||||||
self.render_expr(&_expr)?;
|
self.render_expr(&_expr)?;
|
||||||
//
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
write!(self.w, ";\n")?;
|
write!(self.w, ";\n")?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn render(&mut self, stmts: &Vec<Statement>) {
|
pub fn render(&mut self, stmts: &Vec<Statement>) -> std::io::Result<()> {
|
||||||
for v in stmts {
|
for v in stmts {
|
||||||
if let Err(e) = self.render_stmt(v) {
|
self.render_stmt(v)?;
|
||||||
self.err = Some(e);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,8 +26,7 @@ fn test_simple_value_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(0, &mut buffer);
|
let mut printer = AstPrinter::new(0, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,8 +36,7 @@ fn test_simple_selector_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(0, &mut buffer);
|
let mut printer = AstPrinter::new(0, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,8 +46,7 @@ fn test_simple_quoted_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(0, &mut buffer);
|
let mut printer = AstPrinter::new(0, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,8 +56,7 @@ fn test_escaped_quoted_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(0, &mut buffer);
|
let mut printer = AstPrinter::new(0, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,8 +66,7 @@ fn test_empty_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -81,8 +76,7 @@ fn test_empty_list_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,8 +86,7 @@ fn test_non_empty_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,8 +96,7 @@ fn test_nested_empty_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,8 +106,7 @@ fn test_list_nested_empty_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,8 +116,7 @@ fn test_nested_non_empty_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,8 +126,7 @@ fn test_nested_non_empty_list_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,8 +136,7 @@ fn test_simple_quoted_field_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
String::from_utf8(buffer).unwrap(),
|
String::from_utf8(buffer).unwrap(),
|
||||||
format!("{}\n", "{\n foo = {\n bar = 1,\n },\n};")
|
format!("{}\n", "{\n foo = {\n bar = 1,\n },\n};")
|
||||||
@ -161,8 +149,7 @@ fn test_special_quoted_field_tuple_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,8 +159,7 @@ fn test_let_statement_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -183,8 +169,7 @@ fn test_call_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,8 +179,7 @@ fn test_call_expr_one_arg_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,8 +189,7 @@ fn test_copy_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,8 +199,7 @@ fn test_copy_expr_one_arg_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,8 +209,7 @@ fn test_out_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -238,8 +219,7 @@ fn test_select_expr_no_default_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -249,8 +229,7 @@ fn test_select_expr_with_default_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,8 +239,7 @@ fn test_not_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,8 +249,7 @@ fn test_fail_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,8 +259,7 @@ fn test_trace_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,8 +279,7 @@ fn test_module_no_out_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -324,8 +299,7 @@ fn test_module_with_out_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -338,8 +312,7 @@ fn test_func_expr_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -351,8 +324,7 @@ fn test_func_expr_single_arg_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -364,8 +336,7 @@ fn test_format_expr_single_arg_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +348,6 @@ fn test_format_expr_list_arg_printing() {
|
|||||||
let stmts = assert_parse(input, None);
|
let stmts = assert_parse(input, None);
|
||||||
let mut buffer: Vec<u8> = Vec::new();
|
let mut buffer: Vec<u8> = Vec::new();
|
||||||
let mut printer = AstPrinter::new(2, &mut buffer);
|
let mut printer = AstPrinter::new(2, &mut buffer);
|
||||||
printer.render(&stmts);
|
assert!(printer.render(&stmts).is_ok());
|
||||||
assert!(printer.err.is_none());
|
|
||||||
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
assert_eq!(String::from_utf8(buffer).unwrap(), format!("{}\n", input));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user