Sha256: 1ee549b81f1311479a89f2d1407e7bf8ccb8cbc34c99850e195dcdfda5360689

Contents?: true

Size: 1.65 KB

Versions: 18

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

require 'helper'

class Nanoc::Checking::Checks::HTMLTest < Nanoc::TestCase
  def test_run_ok
    require 'w3c_validators'

    VCR.use_cassette('html_run_ok') do
      with_site do |site|
        # Create files
        FileUtils.mkdir_p('output')
        File.open('output/blah.html', 'w') { |io| io.write('<!DOCTYPE html><html><head><meta charset="utf-8"><title>Hello</title></head><body><h1>Hi!</h1></body>') }
        File.open('output/style.css', 'w') { |io| io.write('h1 { coxlor: rxed; }') }

        # Run check
        check = Nanoc::Checking::Checks::HTML.create(site)
        check.run

        # Check
        assert check.issues.empty?
      end
    end
  end

  def test_run_error
    VCR.use_cassette('html_run_error') do
      with_site do |site|
        # Create files
        FileUtils.mkdir_p('output')
        File.open('output/blah.html', 'w') { |io| io.write('<h2>Hi!</h1>') }
        File.open('output/style.css', 'w') { |io| io.write('h1 { coxlor: rxed; }') }

        # Run check
        check = Nanoc::Checking::Checks::HTML.create(site)
        check.run

        # Check
        refute check.issues.empty?
        assert_equal 3, check.issues.size
        assert_equal 'line 1: Start tag seen without seeing a doctype first. Expected e.g. “<!DOCTYPE html>”.: <h2>Hi!</h1>', check.issues.to_a[0].description
        assert_equal 'line 1: Element “head” is missing a required instance of child element “title”.: <h2>Hi!</h1>', check.issues.to_a[1].description
        assert_equal 'line 1: End tag “h1” seen, but there were open elements.: <h2>Hi!</h1>', check.issues.to_a[2].description
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
nanoc-4.8.12 test/checking/checks/test_html.rb
nanoc-4.8.11 test/checking/checks/test_html.rb
nanoc-4.8.10 test/checking/checks/test_html.rb
nanoc-4.8.9 test/checking/checks/test_html.rb
nanoc-4.8.8 test/checking/checks/test_html.rb
nanoc-4.8.7 test/checking/checks/test_html.rb
nanoc-4.8.6 test/checking/checks/test_html.rb
nanoc-4.8.5 test/checking/checks/test_html.rb
nanoc-4.8.4 test/checking/checks/test_html.rb
nanoc-4.8.3 test/checking/checks/test_html.rb
nanoc-4.8.2 test/checking/checks/test_html.rb
nanoc-4.8.1 test/checking/checks/test_html.rb
nanoc-4.8.0 test/checking/checks/test_html.rb
nanoc-4.7.14 test/checking/checks/test_html.rb
nanoc-4.7.13 test/checking/checks/test_html.rb
nanoc-4.7.12 test/checking/checks/test_html.rb
nanoc-4.7.11 test/checking/checks/test_html.rb
nanoc-4.7.10 test/checking/checks/test_html.rb