Sha256: a66b36e247560cb9c4be017736291bcd4f2eaed9928f33bccc4eb4dcc93138ed

Contents?: true

Size: 1.64 KB

Versions: 11

Compression:

Stored size: 1.64 KB

Contents

require 'spec_helper'

RSpec.describe 'SilentScript rendering', type: :render do
  it 'parses silent script' do
    expect(render_string(<<HAML)).to eq("<span>0</span>\n<span>1</span>\n")
- 2.times do |i|
  %span= i
HAML
  end

  it 'parses if' do
    expect(render_string(<<HAML)).to eq("<div>\neven\n</div>\n")
%div
  - if 2.even?
    even
HAML
  end

  it 'parses if and text' do
    expect(render_string(<<HAML)).to eq("<div>\neven\nok\n</div>\n")
%div
  - if 2.even?
    even
  ok
HAML
  end

  it 'parses if and else' do
    expect(render_string(<<HAML)).to eq("<div>\nodd\n</div>\n")
%div
  - if 1.even?
    even
  - else
    odd
HAML
  end

  it 'parses if and elsif' do
    expect(render_string(<<HAML)).to eq("<div>\n2\neven\n</div>\n")
%div
  - if 1.even?
    even
  - elsif 2.even?
    2
    even
  - else
    odd
HAML
  end

  it 'parses case-when' do
    expect(render_string(<<HAML)).to eq("<div>\n2\neven\n</div>\n")
%div
  - case
  - when 1.even?
    even
  - when 2.even?
    2
    even
  - else
    else
HAML
  end

  it 'parses Ruby comment' do
    expect(render_string(<<HAML)).to eq("<span>Print me</span>\n")
- # Ruby comment here
%span Print me
HAML
  end

  it 'parses Ruby multiline' do
    expect(render_string(<<HAML)).to eq("<div>\n<span>ne</span>\n</div>\n")
%div
  - if 1 == Complex(2,
3)
    %span eq
  - else
    %span ne
HAML
  end

  it 'raises error if no Ruby code is given' do
    expect { render_string('-') }.to raise_error(FastHaml::SyntaxError)
  end

  it 'checks indent levels' do
    expect(render_string(<<HAML)).to eq("<span>hello</span>\n")
- if true
  %span hello
  - if false
    %span world
- else
  %span !!!
HAML
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
fast_haml-0.1.10 spec/render/silent_script_spec.rb
fast_haml-0.1.9 spec/render/silent_script_spec.rb
fast_haml-0.1.8 spec/render/silent_script_spec.rb
fast_haml-0.1.7 spec/render/silent_script_spec.rb
fast_haml-0.1.6 spec/render/silent_script_spec.rb
fast_haml-0.1.5 spec/render/silent_script_spec.rb
fast_haml-0.1.4 spec/render/silent_script_spec.rb
fast_haml-0.1.3 spec/render/silent_script_spec.rb
fast_haml-0.1.2 spec/render/silent_script_spec.rb
fast_haml-0.1.1 spec/render/silent_script_spec.rb
fast_haml-0.1.0 spec/render/silent_script_spec.rb