...... ---------------------------------------------------------------------- Ran 6 tests in 0.009s OK (bool_expr.LogicalOr left: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) ) right: (bool_expr.LogicalNot child: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:bar span_id:6))]) ) ) ) (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:a span_id:0))]) right: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:b span_id:4))]) ) (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) ) (bool_expr.WordTest w: (word.Compound parts: [ (simple_var_sub token:(token id:VSub_DollarName val:'$foo' span_id:0)) (double_quoted left: (token id:Left_DoubleQuote val:'"' span_id:1) parts: [(word_part.Literal token:(token id:Lit_Chars val:bar span_id:2))] ) ] ) ) ------------- (bool_expr.Unary op_id: BoolUnary_z child: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:2))]) ) (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) right: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:bar span_id:4))]) ) (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:2))]) right: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:bar span_id:6))]) ) (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) ) (bool_expr.LogicalNot child: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:2))]) ) ) (bool_expr.LogicalAnd left: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:zoo span_id:0))]) ) right: (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:6))]) right: (word.Compound parts: [(word_part.Literal token:(token id:Lit_Chars val:bar span_id:10))] ) ) ) (bool_expr.LogicalAnd left: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) ) right: (bool_expr.LogicalNot child: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:bar span_id:6))]) ) ) ) (bool_expr.LogicalAnd left: (bool_expr.WordTest w: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:0))]) ) right: (bool_expr.LogicalAnd left: (bool_expr.LogicalNot child: (bool_expr.WordTest w: (word.Compound parts: [(word_part.Literal token:(token id:Lit_Chars val:bar span_id:6))] ) ) ) right: (bool_expr.WordTest w: (word.Compound parts: [(word_part.Literal token:(token id:Lit_Chars val:baz span_id:10))] ) ) ) ) (bool_expr.LogicalAnd left: (bool_expr.Unary op_id: BoolUnary_z child: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:foo span_id:2))]) ) right: (bool_expr.Unary op_id: BoolUnary_z child: (word.Compound parts:[(word_part.Literal token:(token id:Lit_Chars val:bar span_id:8))]) ) )