diff --git a/node/stmt/alt_if.go b/node/stmt/alt_if.go index e5557f2..6b62230 100644 --- a/node/stmt/alt_if.go +++ b/node/stmt/alt_if.go @@ -9,7 +9,7 @@ type AltIf struct { Cond node.Node Stmt node.Node ElseIf []node.Node - _else node.Node + Else node.Node } // NewAltIf node constuctor @@ -37,8 +37,8 @@ func (n *AltIf) AddElseIf(ElseIf node.Node) node.Node { return n } -func (n *AltIf) SetElse(_else node.Node) node.Node { - n._else = _else +func (n *AltIf) SetElse(Else node.Node) node.Node { + n.Else = Else return n } @@ -69,9 +69,9 @@ func (n *AltIf) Walk(v node.Visitor) { } } - if n._else != nil { + if n.Else != nil { vv := v.GetChildrenVisitor("else") - n._else.Walk(vv) + n.Else.Walk(vv) } v.LeaveNode(n) diff --git a/test/node/stmt/alt_if_test.go b/test/node/stmt/alt_if_test.go new file mode 100644 index 0000000..2acf9a2 --- /dev/null +++ b/test/node/stmt/alt_if_test.go @@ -0,0 +1,134 @@ +package test + +import ( + "bytes" + "reflect" + "testing" + + "github.com/z7zmey/php-parser/node/expr" + + "github.com/kylelemons/godebug/pretty" + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/parser" +) + +func assertEqual(t *testing.T, expected interface{}, actual interface{}) { + if !reflect.DeepEqual(expected, actual) { + diff := pretty.Compare(expected, actual) + + if diff != "" { + t.Errorf("diff: (-expected +actual)\n%s", diff) + } else { + t.Errorf("expected and actual are not equal\n") + } + + } +} + +func TestAltIf(t *testing.T) { + src := `