class PidginSpec

Attributes

fail_count[RW]
failure_messages[RW]
pass_count[RW]
passed[RW]
spec_count[RW]

Public Class Methods

describe(desc = nil, &block) click to toggle source
# File lib/pidgin_spec.rb, line 2
def self.describe(desc = nil, &block)
  puts desc
  new(&block)
end
new(&block) click to toggle source
# File lib/pidgin_spec.rb, line 8
def initialize(&block)
  @pass_count = 0
  @fail_count = 0
  @spec_count = 0
  @failure_messages = []
  instance_eval(&block) 
  puts "\n#{@spec_count} tests run, #{@fail_count} fail#{"\n\nFailures:\n" if fail_count.nonzero?}".send(@fail_count.zero? ? 'green' : 'red')
  @failure_messages.each_with_index {|m, index| 
    puts "#{index + 1}. #{m[:description]}\n#{"Wetin make am fail".red}: #{format(m[:failed_code])} \n #{m[:message].red}\n#{m[:failed_code_path].magenta}\n\n"
  }
end

Public Instance Methods

describe(des_statement, &block) click to toggle source
# File lib/pidgin_spec.rb, line 20
def describe(des_statement, &block)
  ExampleGroup.new(des_statement, self, &block)
end

Private Instance Methods

format(str) click to toggle source
# File lib/pidgin_spec.rb, line 26
def format(str)
  lexer = Rouge::Lexers::Ruby.new.lex(str)
  Rouge::Formatters::Terminal256.new.format(lexer)
end