Sha256: b012140a1afc49da7388f5dea88c12119bc11c1cf623d387179092a9d6d5dbf1

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

module W3cRspecValidators
  
  RSpec::Matchers.define :be_valid_html do
    validator = Validator.new
    match do |body|
      validator.validate_text(body)
      validator.response.errors.length == 0
    end
    failure_message_for_should do |actual|
      validator.response.errors.map do |err|
        seperator = "######\n"
        error = /line \d.*/.match err.to_s
        line_number = /line (\d*)/.match(err.to_s)[1].to_i

        sbody = actual.split("\n")
        context = sbody[[line_number-3,0].max...line_number-1].join("\n")
        context += "\n>>" + sbody[line_number-1] + "\n"
        context += sbody[line_number..line_number+2].join("\n")

        seperator + error.to_s + "\n\n" + context + "\n"
      end.join("\n")
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
w3c_rspec_validators-0.1.0 lib/w3c_rspec_validators/rspec.rb