changes_xpather_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. // +build !disable_babelfish
  2. package uast
  3. import (
  4. "log"
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. "gopkg.in/bblfsh/client-go.v3"
  8. uast_test "gopkg.in/src-d/hercules.v9/internal/plumbing/uast/test"
  9. "gopkg.in/src-d/hercules.v9/internal/test"
  10. )
  11. func TestChangesXPatherExtractChanged(t *testing.T) {
  12. client, err := bblfsh.NewClient("0.0.0.0:9432")
  13. if err != nil {
  14. log.Panicf("Failed to connect to the Babelfish server at 0.0.0.0:9432: %v", err)
  15. }
  16. hash1 := "a98a6940eb4cfb1eb635c3232485a75c4b63fff3"
  17. hash2 := "42457dc695fa73ec9621b47832d5711f6325410d"
  18. root1 := uast_test.ParseBlobFromTestRepo(hash1, "burndown.go", client)
  19. root2 := uast_test.ParseBlobFromTestRepo(hash2, "burndown.go", client)
  20. gitChange := test.FakeChangeForName("burndown.go", hash1, hash2)
  21. uastChanges := []Change{
  22. {Before: root1, After: root2, Change: gitChange},
  23. {Before: nil, After: root2, Change: gitChange},
  24. {Before: root1, After: nil, Change: gitChange},
  25. }
  26. xpather := ChangesXPather{XPath: "//*[@role='Comment']"}
  27. nodes := xpather.Extract(uastChanges)
  28. assert.True(t, len(nodes) > 0)
  29. }