Guest User

Untitled

a guest
Oct 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. module ExitCodeMatchers
  2. RSpec::Matchers.define :exit_with_code do |code|
  3. actual = nil
  4.  
  5. match do |block|
  6. begin
  7. block.call
  8. rescue SystemExit => e
  9. actual = e.status
  10. end
  11. actual and actual == code
  12. end
  13.  
  14. failure_message_for_should do |block|
  15. "expected block to call exit(#{code}) but exit" +
  16. (actual.nil? ? " not called" : "(#{actual}) was called")
  17. end
  18.  
  19. failure_message_for_should_not do |block|
  20. "expected block not to call exit(#{code})"
  21. end
  22.  
  23. description do
  24. "expect block to call exit(#{code})"
  25. end
  26. end
  27. end
Add Comment
Please, Sign In to add comment