Module: Nanotest

Defined in:
lib/nanotest/focus.rb,
lib/nanotest/stats.rb

Overview

“Simplicity is the ultimate sophistication” –Leonardo Da Vinci

Defined Under Namespace

Modules: Contexts Classes: Spec

Constant Summary collapse

@@focused =
false

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.resultsObject



7
8
9
10
11
12
13
14
# File 'lib/nanotest/stats.rb', line 7

def results
  stats = "\n(%f seconds) %d assertions, %d failures" % [Time.now-$nanotest_time, @@dots.size, @@failures.size]

  # insert stats after failure message if any, or dots otherwise
  lines, pos = stats__orig_results.split(/\n/), 0
  lines.each_with_index {|line, i| pos = i if line =~ /\((.*):\d+\).*$/ || line =~ /(\.|F)+/ }
  lines.insert(pos + 1, stats).join("\n")
end

.stats__orig_resultsObject



5
# File 'lib/nanotest/stats.rb', line 5

alias :stats__orig_results :results

Instance Method Details

#assert(msg = nil, file = nil, line = nil, stack = caller, &block) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/nanotest/focus.rb', line 19

def assert(msg=nil,file=nil,line=nil,stack=caller,&block)
  if @@focused
    if @@focus_next
      @@focus_next = false
      focus__orig_assert(msg,file,line,stack,&block)
    end
  else
    focus__orig_assert(msg,file,line,stack,&block)
  end
end

#focusObject



8
9
10
11
12
13
14
15
# File 'lib/nanotest/focus.rb', line 8

def focus
  unless @@focused
    @@focused = true
    @@dots.clear
    @@failures.clear
  end
  @@focus_next = true
end

#focus__orig_assertObject



17
# File 'lib/nanotest/focus.rb', line 17

alias :focus__orig_assert :assert