Sha256: d3c5b1030f2c21458b35ece3f904ccd5257a372a970a95f5ab274473e7108d32

Contents?: true

Size: 944 Bytes

Versions: 11

Compression:

Stored size: 944 Bytes

Contents

# frozen_string_literal: true

describe Nanoc::Helpers::HTMLEscape, helper: true do
  describe '#html_escape' do
    subject { helper.html_escape(string) }

    context 'given strings to escape' do
      let(:string) { '< > & "' }
      it { is_expected.to eql('&lt; &gt; &amp; &quot;') }
    end

    context 'given a block' do
      let!(:_erbout) { String.new('moo') }

      it 'adds escaped content to _erbout' do
        helper.html_escape { _erbout << '<h1>Stuff!</h1>' }
        expect(_erbout).to eql('moo&lt;h1&gt;Stuff!&lt;/h1&gt;')
      end
    end

    context 'given no argument nor block' do
      subject { helper.html_escape }

      it 'raises' do
        expect { subject }.to raise_error(RuntimeError)
      end
    end

    context 'given argument that is not a string' do
      let(:string) { 1 }

      it 'raises an ArgumentError' do
        expect { subject }.to raise_error(ArgumentError)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
nanoc-4.8.5 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.4 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.3 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.2 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.1 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.0 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.7.14 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.7.13 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.7.12 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.7.11 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.7.10 spec/nanoc/helpers/html_escape_spec.rb