Sha256: 2a59ff5e82c1b66cc3052f5d4c5f3126ce32763db1a9cc0589d3ec26a2297dd9

Contents?: true

Size: 1.25 KB

Versions: 17

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'

RSpec.describe 'Sanitize rendering', type: :render do
  it 'parses sanitized script' do
    # Default in faml
    expect(render_string('&= "hello<p>unescape</p>world"')).to eq("hello&lt;p&gt;unescape&lt;/p&gt;world\n")
    expect(render_string(<<HAML)).to eq("<span>\nhello&lt;p&gt;unescape&lt;/p&gt;world\n</span>\n")
%span
  &= "hello<p>unescape</p>world"
HAML
  end

  it 'ignores single sanitize mark' do
    expect(render_string('& <p>hello</p>')).to eq("<p>hello</p>\n")
    expect(render_string('%span& <p>hello</p>')).to eq("<span><p>hello</p></span>\n")
  end

  it 'parses == syntax' do
    expect(render_string('&== =<p>hello</p>')).to eq("=<p>hello</p>\n")
    expect(render_string('%span&== =<p>hello</p>')).to eq("<span>=<p>hello</p></span>\n")
  end

  context 'with preserve' do
    it 'ignores preserve mark' do
      expect(render_string('&~ "<p>hello</p>"')).to eq("&lt;p&gt;hello&lt;/p&gt;\n")
      expect(render_string('%span&~ "<p>hello</p>"')).to eq("<span>&lt;p&gt;hello&lt;/p&gt;</span>\n")
    end
  end

  context 'without Ruby code' do
    it 'raises error' do
      expect { render_string('%span&=') }.to raise_error(Faml::SyntaxError)
      expect { render_string('&=') }.to raise_error(Faml::SyntaxError)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
faml-0.2.16 spec/render/sanitize_spec.rb
faml-0.2.15 spec/render/sanitize_spec.rb
faml-0.2.14 spec/render/sanitize_spec.rb
faml-0.2.13 spec/render/sanitize_spec.rb
faml-0.2.12 spec/render/sanitize_spec.rb
faml-0.2.11 spec/render/sanitize_spec.rb
faml-0.2.10 spec/render/sanitize_spec.rb
faml-0.2.9 spec/render/sanitize_spec.rb
faml-0.2.8 spec/render/sanitize_spec.rb
faml-0.2.7 spec/render/sanitize_spec.rb
faml-0.2.6 spec/render/sanitize_spec.rb
faml-0.2.5 spec/render/sanitize_spec.rb
faml-0.2.4 spec/render/sanitize_spec.rb
faml-0.2.3 spec/render/sanitize_spec.rb
faml-0.2.2 spec/render/sanitize_spec.rb
faml-0.2.1 spec/render/sanitize_spec.rb
faml-0.2.0 spec/render/sanitize_spec.rb