e2e testing made eas(y/ier)
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

53 satır
945B

  1. class Fx
  2. # @return mixed
  3. def self.pipe *args
  4. return args.reduce &->(acc, el) {
  5. el.class == Proc ? el.call(acc) : el
  6. }
  7. end
  8. # @return ?
  9. def self.as *args
  10. i = args.shift
  11. o = nil
  12. args.each &->(el) {
  13. o = el.call(i)
  14. }
  15. return o
  16. end
  17. # @return void
  18. def self.log message, failed = false
  19. on = !failed ? "\u001b[31m" : "\u001b[32m"
  20. off = "\u001b[0m"
  21. res = !failed ? "success" : "failure"
  22. puts "#{on}#{res}#{off}: #{message}"
  23. end
  24. # @return void
  25. def self.notice message
  26. log message, true
  27. end
  28. # @brief performs a test, logs events, catches
  29. # failures
  30. #
  31. # @param test: proc
  32. # @param b: Watir::Browser
  33. # @param name: String
  34. #
  35. # @return void
  36. # @since 0.12.0
  37. def self.perform test, b, name
  38. begin
  39. (test.call b) ?
  40. Fx::log(name) : Fx::notice(name)
  41. rescue => e
  42. Fx::log "!#{name}: #{e.message}"
  43. end
  44. end
  45. end