Skip to content

Commit

Permalink
fix asthelpers integ tests
Browse files Browse the repository at this point in the history
Signed-off-by: Harshit Gangal <harshit@planetscale.com>
  • Loading branch information
harshit-gangal committed Mar 22, 2021
1 parent 6ba9b2b commit ed6b0e5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 27 deletions.
43 changes: 18 additions & 25 deletions go/tools/asthelpergen/integration/integration_rewriter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ func TestRewriteVisitRefContainer(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(containerContainer, tv.pre, tv.post)
require.NoError(t, err)
_ = Rewrite(containerContainer, tv.pre, tv.post)

expected := []step{
Pre{containerContainer},
Expand All @@ -58,8 +57,7 @@ func TestRewriteVisitValueContainer(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(containerContainer, tv.pre, tv.post)
require.NoError(t, err)
_ = Rewrite(containerContainer, tv.pre, tv.post)

expected := []step{
Pre{containerContainer},
Expand All @@ -84,8 +82,7 @@ func TestRewriteVisitRefSliceContainer(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(containerContainer, tv.pre, tv.post)
require.NoError(t, err)
_ = Rewrite(containerContainer, tv.pre, tv.post)

tv.assertEquals(t, []step{
Pre{containerContainer},
Expand Down Expand Up @@ -113,8 +110,7 @@ func TestRewriteVisitValueSliceContainer(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(containerContainer, tv.pre, tv.post)
require.NoError(t, err)
_ = Rewrite(containerContainer, tv.pre, tv.post)

tv.assertEquals(t, []step{
Pre{containerContainer},
Expand Down Expand Up @@ -150,8 +146,7 @@ func TestRewriteVisitInterfaceSlice(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(ast, tv.pre, tv.post)
require.NoError(t, err)
_ = Rewrite(ast, tv.pre, tv.post)

tv.assertEquals(t, []step{
Pre{ast},
Expand All @@ -176,22 +171,20 @@ func TestRewriteVisitRefContainerReplace(t *testing.T) {
}

// rewrite field of type AST
_, err := Rewrite(ast, func(cursor *Cursor) bool {
_ = Rewrite(ast, func(cursor *Cursor) bool {
leaf, ok := cursor.node.(*RefContainer)
if ok && leaf.NotASTType == 12 {
cursor.Replace(&Leaf{99})
}
return true
}, nil)
require.NoError(t, err)

assert.Equal(t, &RefContainer{
ASTType: &Leaf{99},
ASTImplementationType: &Leaf{2},
}, ast)

_, err = Rewrite(ast, rewriteLeaf(2, 55), nil)
require.NoError(t, err)
_ = Rewrite(ast, rewriteLeaf(2, 55), nil)

assert.Equal(t, &RefContainer{
ASTType: &Leaf{99},
Expand All @@ -211,7 +204,7 @@ func TestRewriteVisitValueContainerReplace(t *testing.T) {
require.Equal(t, "[BUG] tried to replace 'ASTType' on 'ValueContainer'", r)
}
}()
_, _ = Rewrite(ast, func(cursor *Cursor) bool {
_ = Rewrite(ast, func(cursor *Cursor) bool {
leaf, ok := cursor.node.(ValueContainer)
if ok && leaf.NotASTType == 12 {
cursor.Replace(&Leaf{99})
Expand All @@ -227,8 +220,12 @@ func TestRewriteVisitValueContainerReplace2(t *testing.T) {
ASTImplementationType: &Leaf{2},
}

_, err := Rewrite(ast, rewriteLeaf(2, 10), nil)
require.Error(t, err)
defer func() {
if r := recover(); r != nil {
require.Equal(t, "[BUG] tried to replace 'ASTImplementationType' on 'ValueContainer'", r)
}
}()
_ = Rewrite(ast, rewriteLeaf(2, 10), nil)
}

func TestRewriteVisitRefContainerPreOrPostOnly(t *testing.T) {
Expand All @@ -239,8 +236,7 @@ func TestRewriteVisitRefContainerPreOrPostOnly(t *testing.T) {

tv := &rewriteTestVisitor{}

_, err := Rewrite(containerContainer, tv.pre, nil)
require.NoError(t, err)
_ = Rewrite(containerContainer, tv.pre, nil)
tv.assertEquals(t, []step{
Pre{containerContainer},
Pre{container},
Expand All @@ -249,8 +245,7 @@ func TestRewriteVisitRefContainerPreOrPostOnly(t *testing.T) {
})

tv = &rewriteTestVisitor{}
_, err = Rewrite(containerContainer, nil, tv.post)
require.NoError(t, err)
_ = Rewrite(containerContainer, nil, tv.post)
tv.assertEquals(t, []step{
Post{leaf1},
Post{leaf2},
Expand All @@ -275,16 +270,14 @@ func TestRefSliceContainerReplace(t *testing.T) {
ASTImplementationElements: []*Leaf{{3}, {4}},
}

_, err := Rewrite(ast, rewriteLeaf(2, 42), nil)
require.NoError(t, err)
_ = Rewrite(ast, rewriteLeaf(2, 42), nil)

assert.Equal(t, &RefSliceContainer{
ASTElements: []AST{&Leaf{1}, &Leaf{42}},
ASTImplementationElements: []*Leaf{{3}, {4}},
}, ast)

_, err = Rewrite(ast, rewriteLeaf(3, 88), nil)
require.NoError(t, err)
_ = Rewrite(ast, rewriteLeaf(3, 88), nil)

assert.Equal(t, &RefSliceContainer{
ASTElements: []AST{&Leaf{1}, &Leaf{42}},
Expand Down
4 changes: 2 additions & 2 deletions go/tools/asthelpergen/integration/test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ func (c *Cursor) Replace(newNode AST) {
type replacerFunc func(newNode, parent AST)

// Rewrite is the api.
func Rewrite(node AST, pre, post ApplyFunc) (AST, error) {
func Rewrite(node AST, pre, post ApplyFunc) AST {
outer := &struct{ AST }{node}

a := &application{
Expand All @@ -77,5 +77,5 @@ func Rewrite(node AST, pre, post ApplyFunc) (AST, error) {
outer.AST = newNode
})

return outer.AST, nil
return outer.AST
}

0 comments on commit ed6b0e5

Please sign in to comment.