Sha256: 75b19bfebcf8a06ff76685c076c77e9aebb09ed228e8919877bd70ad12d1706b

Contents?: true

Size: 933 Bytes

Versions: 7

Compression:

Stored size: 933 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) { +'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

7 entries across 7 versions & 1 rubygems

Version Path
nanoc-4.8.12 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.11 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.10 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.9 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.8 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.7 spec/nanoc/helpers/html_escape_spec.rb
nanoc-4.8.6 spec/nanoc/helpers/html_escape_spec.rb