setup_nodes.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package leafnodes
  2. import (
  3. "time"
  4. "github.com/onsi/ginkgo/internal/failer"
  5. "github.com/onsi/ginkgo/types"
  6. )
  7. type SetupNode struct {
  8. runner *runner
  9. }
  10. func (node *SetupNode) Run() (outcome types.SpecState, failure types.SpecFailure) {
  11. return node.runner.run()
  12. }
  13. func (node *SetupNode) Type() types.SpecComponentType {
  14. return node.runner.nodeType
  15. }
  16. func (node *SetupNode) CodeLocation() types.CodeLocation {
  17. return node.runner.codeLocation
  18. }
  19. func NewBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode {
  20. return &SetupNode{
  21. runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeBeforeEach, componentIndex),
  22. }
  23. }
  24. func NewAfterEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode {
  25. return &SetupNode{
  26. runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeAfterEach, componentIndex),
  27. }
  28. }
  29. func NewJustBeforeEachNode(body interface{}, codeLocation types.CodeLocation, timeout time.Duration, failer *failer.Failer, componentIndex int) *SetupNode {
  30. return &SetupNode{
  31. runner: newRunner(body, codeLocation, timeout, failer, types.SpecComponentTypeJustBeforeEach, componentIndex),
  32. }
  33. }