lib/shindo/verbose.rb
module Shindo class Tests private def display_description(description) Thread.current[:formatador].display_line(description) end def display_error(error) Thread.current[:formatador].display_line("[red]#{error.message} (#{error.class})[/]") unless error.backtrace.empty? Thread.current[:formatador].indent do Thread.current[:formatador].display_lines(error.backtrace.map {|line| "[red]#{line}[/]"}) end end end def display_failure(description) Thread.current[:totals][:failed] += 1 Thread.current[:formatador].display_line("[red]- #{description}[/]") end def display_pending(description) Thread.current[:totals][:pending] += 1 Thread.current[:formatador].display_line("[yellow]# #{description}[/]") end def display_success(description) Thread.current[:totals][:succeeded] += 1 Thread.current[:formatador].display_line("[green]+ #{description}[/]") end def raises?(expectation, &block) @gestalt = Gestalt.new({'formatador' => Thread.current[:formatador]}) [value = @gestalt.run(&block), value.is_a?(expectation)] end def returns?(expectation, &block) @gestalt = Gestalt.new({'formatador' => Thread.current[:formatador]}) [value = @gestalt.run(&block), value == expectation] end end end