Sha256: c92e81bf1099b64108f5e0716887235dfd6101fbd4ce1f09a8df26482c9f5359

Contents?: true

Size: 1.58 KB

Versions: 6

Compression:

Stored size: 1.58 KB

Contents

class PreprocessorTest < ActionView::TestCase
  test "it extracts a simple cubicle_for block" do
    source = <<-ERB
      <%= cubicle_for post, user do |users| %>
        <span class="presence">
          <%= users.map(&:username).to_sentence %>
        <span>
      <% end %>
    ERB

    result = <<~ERB
      <span class="presence">
        <%= users.map(&:username).to_sentence %>
      <span>
    ERB

    preprocessor = Cubism::Preprocessor.new(source: source, view_context: self)

    assert_equal result.squish, preprocessor.process.squish
  end

  test "it respects ERB tags nested in the block" do
    source = <<-ERB
      <%= cubicle_for post, user do |users| %>
        <% if users.size > 0 %>
          <span class="presence">
            <%= users.map(&:username).to_sentence %>
          <span>
        <% end %>
      <% end %>
    ERB

    result = <<~ERB
      <% if users.size > 0 %>
        <span class="presence">
          <%= users.map(&:username).to_sentence %>
        <span>
      <% end %>
    ERB

    preprocessor = Cubism::Preprocessor.new(source: source, view_context: self)

    assert_equal result.squish, preprocessor.process.squish
  end

  test "it respects render calls nested in the block" do
    source = <<-ERB
      <%= cubicle_for post, user do |users| %>
        <%= render "presence_partial", users: users %>
      <% end %>
    ERB

    result = <<~ERB
      <%= render "presence_partial", users: users %>
    ERB

    preprocessor = Cubism::Preprocessor.new(source: source, view_context: self)

    assert_equal result.squish, preprocessor.process.squish
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
cubism-0.2.0 test/rendering/preprocessor_test.rb
cubism-0.1.1 test/rendering/preprocessor_test.rb
cubism-0.1.0 test/rendering/preprocessor_test.rb
cubism-0.1.0.rc2 test/rendering/preprocessor_test.rb
cubism-0.1.0.rc1 test/rendering/preprocessor_test.rb
cubism-0.1.0.pre13 test/rendering/preprocessor_test.rb