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