File: fail_site.rb

package info (click to toggle)
ruby-parslet 2.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,264 kB
  • sloc: ruby: 6,157; sh: 6; javascript: 3; makefile: 3
file content (34 lines) | stat: -rw-r--r-- 730 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
require 'site'

class FailSite < Site
  def format_documentation_line
    value_str = format_values
    "#@code# raises #{value_str}"
  end
  def format_values
    return 'NOT REACHED!' if @values.empty?
    
    v = @values.last
    s = v.inspect
    
    s = s[1..-1]
    
    max_len = 60
    s.size > max_len ? s[0,max_len] + '...' : s
  end

  def check
    return true if !@expectation || @expectation.match(/^\s*$/)

    str = format_values
    if str != @expectation
      puts "      #{@code.strip} # raises #{str.red}"
      puts "      #{' '*@code.strip.size} # expected: #@expectation"
    else
      puts "      #{@code.strip} # raises #{str.green}"
    end
  end
  def store(msg)
    store_if(:raised, msg)
  end
end