Sha256: 4f70ce84a723ce2aba606ab7c95b7944d990a989ca133650567652443717ce7d

Contents?: true

Size: 962 Bytes

Versions: 11

Compression:

Stored size: 962 Bytes

Contents

require 'test_helper'

class ConditionalityTest < ActiveSupport::TestCase

  def empty_title_context
    ctx = Object.new
    ctx.instance_variable_set(:@title, '')
    ctx
  end

  def present_title_context
    ctx = Object.new
    ctx.instance_variable_set(:@title, 'Something')
    ctx
  end

  class ConditionalRenderer < ExpressTemplates::Components::Base
    include ExpressTemplates::Components::Capabilities::Conditionality

      emits -> {
        h1 "{{@title}}"
      }

      only_if -> { !@title.empty? }
  end

  test "when supplied condition is false, renders empty string" do
    compiled_src = ConditionalRenderer.new.compile
    assert_equal '', empty_title_context.instance_eval(compiled_src)
  end

  test "when supplied condition is true, renders the component" do
    compiled_src = Interpolator.transform(ConditionalRenderer.new.compile)
    assert_equal '<h1>Something</h1>', present_title_context.instance_eval(compiled_src)
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
express_admin-1.2.1 vendor/gems/express_templates/test/components/conditionality_test.rb
express_admin-1.2.0 vendor/gems/express_templates/test/components/conditionality_test.rb
express_templates-0.5.0 test/components/conditionality_test.rb
express_templates-0.4.2 test/components/conditionality_test.rb
express_templates-0.4.1 test/components/conditionality_test.rb
express_templates-0.4.0 test/components/conditionality_test.rb
express_templates-0.3.6 test/components/conditionality_test.rb
express_templates-0.3.5 test/components/conditionality_test.rb
express_templates-0.3.4 test/components/conditionality_test.rb
express_templates-0.3.2 test/components/conditionality_test.rb
express_templates-0.3.1 test/components/conditionality_test.rb