Class: Docspec::Tester

Inherits:
Object
  • Object
show all
Includes:
Colsole
Defined in:
lib/docspec/tester.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(document) ⇒ Tester

Returns a new instance of Tester.



8
9
10
11
12
# File 'lib/docspec/tester.rb', line 8

def initialize(document)
  document = Document.new document unless document.is_a? Document
  @document = document
  @errors = 0
end

Instance Attribute Details

#documentObject (readonly)

Returns the value of attribute document.



6
7
8
# File 'lib/docspec/tester.rb', line 6

def document
  @document
end

#errorsObject (readonly)

Returns the value of attribute errors.



6
7
8
# File 'lib/docspec/tester.rb', line 6

def errors
  @errors
end

Instance Method Details

#executeObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/docspec/tester.rb', line 18

def execute
  document.examples.each do |example|
    if example.passing?
      say "!txtgrn!PASS: #{example.label}"
    else
      @errors += 1
      say "!txtred!FAIL: #{example.label}"
      say "---"
      puts example.diff
      say "---"
    end
  end

  errors == expected_failures
end

#expected_failuresObject



34
35
36
# File 'lib/docspec/tester.rb', line 34

def expected_failures
  ENV['DOCSPEC_EXPECTED_FAILURES']&.to_i || 0
end

#totalObject



14
15
16
# File 'lib/docspec/tester.rb', line 14

def total
  @total ||= document.examples.count
end