Sha256: aa16bb2108cf6205cc62184c578a1ee9f3adc7c64742cd85bc1c866382a20f2d

Contents?: true

Size: 1.61 KB

Versions: 9

Compression:

Stored size: 1.61 KB

Contents

# frozen-string-literal: true
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

9 entries across 9 versions & 1 rubygems

Version Path
faml-0.7.3 spec/render/unescape_spec.rb
faml-0.7.2 spec/render/unescape_spec.rb
faml-0.7.1 spec/render/unescape_spec.rb
faml-0.7.0 spec/render/unescape_spec.rb
faml-0.6.5 spec/render/unescape_spec.rb
faml-0.6.4 spec/render/unescape_spec.rb
faml-0.6.3 spec/render/unescape_spec.rb
faml-0.6.2 spec/render/unescape_spec.rb
faml-0.6.1 spec/render/unescape_spec.rb