Module: CSpec::Runner
- Defined in:
- lib/cspec/runner.rb
Class Method Summary collapse
- .present_result(success, results) ⇒ Object
- .process_errors(errors) ⇒ Object
- .run(specs) ⇒ Object
- .run!(filepath) ⇒ Object
Class Method Details
.present_result(success, results) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/cspec/runner.rb', line 18 def self.present_result(success, results) if success puts 'Success'.green true else puts 'Failure'.red puts ResultsOutputter.display(results).red false end end |
.process_errors(errors) ⇒ Object
40 41 42 43 |
# File 'lib/cspec/runner.rb', line 40 def self.process_errors(errors) puts errors unless errors.empty? !errors.empty? end |
.run(specs) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/cspec/runner.rb', line 29 def self.run(specs) specs.map do |spec| result = ::CSpec::CodeExec.do(spec) expected = ::CSpec::DataType.convert(spec.expected) error_msg = "Expected #{spec.expected}, got: #{result}" if result != expected Result.from_spec(spec, error_msg) rescue StandardError => e Result.from_spec(spec, e.inspect) end end |
.run!(filepath) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/cspec/runner.rb', line 7 def self.run!(filepath) return false if process_errors(Loader.validate_structure(filepath)) specs = Loader.load(filepath) return false if process_errors(::CSpec::Validator.validate_specs(specs)) success = CSpec::Result.success?(results = run(specs)) present_result(success, results) end |