Sha256: 7b9ded2b3ca64d99ba49f4bdb11930eec6262077c4f49ea4bb2e4d026e87ea90

Contents?: true

Size: 1.58 KB

Versions: 13

Compression:

Stored size: 1.58 KB

Contents

require 'spec_helper'

RSpec.describe 'Unescape rendering', type: :render do
  it 'parses unescape script' do
    expect(render_string('%span!= "hello<p>unescape</p>world"')).to eq("<span>hello<p>unescape</p>world</span>\n")
    expect(render_string(<<HAML)).to eq("<span>\nhello<p>unescape</p>world\n</span>\n")
%span
  != "hello<p>unescape</p>world"
HAML
  end

  it 'ignores single unescape 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 'ignores single Unescape mark without spaces' 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 'has effect on string interpolation in plain' do
    expect(render_string('! <p>#{"<strong>hello</strong>"}</p>')).to eq("<p><strong>hello</strong></p>\n")
    expect(render_string('%span! <p>#{"<strong>hello</strong>"}</p>')).to eq("<span><p><strong>hello</strong></p></span>\n")
  end

  it 'parses == syntax' do
    expect(render_string('!== =#{"<br>"}hello')).to eq("=<br>hello\n")
    expect(render_string('%p!== =#{"<br>"}hello')).to eq("<p>=<br>hello</p>\n")
  end

  context 'with preserve' do
    it 'keeps newlines within preserve tags' do
      expect(render_string('!~ "<p>hello\n<pre>pre\nworld</pre></p>"')).to eq("<p>hello\n<pre>pre&#x000A;world</pre></p>\n")
      expect(render_string('%span!~ "<p>hello\n<pre>pre\nworld</pre></p>"')).to eq("<span><p>hello\n<pre>pre&#x000A;world</pre></p></span>\n")
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
faml-0.6.0 spec/render/unescape_spec.rb
faml-0.5.1 spec/render/unescape_spec.rb
faml-0.5.0 spec/render/unescape_spec.rb
faml-0.4.2 spec/render/unescape_spec.rb
faml-0.4.1 spec/render/unescape_spec.rb
faml-0.4.0 spec/render/unescape_spec.rb
faml-0.3.6 spec/render/unescape_spec.rb
faml-0.3.5 spec/render/unescape_spec.rb
faml-0.3.4 spec/render/unescape_spec.rb
faml-0.3.3 spec/render/unescape_spec.rb
faml-0.3.2 spec/render/unescape_spec.rb
faml-0.3.1 spec/render/unescape_spec.rb
faml-0.3.0 spec/render/unescape_spec.rb