Sha256: e3b2b3af4ac7d8e2311f5926c68d5dcae2cf54a02205a445af4c736a4f18a3d2

Contents?: true

Size: 1.97 KB

Versions: 32

Compression:

Stored size: 1.97 KB

Contents

class Nanoc::Filters::ErubisTest < Nanoc::TestCase
  def test_filter_with_instance_variable
    if_have 'erubis' do
      # Create filter
      filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })

      # Run filter
      result = filter.setup_and_run('<%= "I was hiding in #{@location}." %>')
      assert_equal('I was hiding in a cheap motel.', result)
    end
  end

  def test_filter_with_instance_method
    if_have 'erubis' do
      # Create filter
      filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })

      # Run filter
      result = filter.setup_and_run('<%= "I was hiding in #{location}." %>')
      assert_equal('I was hiding in a cheap motel.', result)
    end
  end

  def test_filter_error
    if_have 'erubis' do
      # Create filter
      filter = ::Nanoc::Filters::Erubis.new

      # Run filter
      raised = false
      begin
        filter.setup_and_run('<%= this isn\'t really ruby so it\'ll break, muahaha %>')
      rescue SyntaxError => e
        e.message =~ /(.+?):\d+: /
        assert_match '?', Regexp.last_match[1]
        raised = true
      end
      assert raised
    end
  end

  def test_filter_with_yield
    if_have 'erubis' do
      # Create filter
      filter = ::Nanoc::Filters::Erubis.new({ content: 'a cheap motel' })

      # Run filter
      result = filter.setup_and_run('<%= "I was hiding in #{yield}." %>')
      assert_equal('I was hiding in a cheap motel.', result)
    end
  end

  def test_filter_with_yield_without_content
    if_have 'erubis' do
      # Create filter
      filter = ::Nanoc::Filters::Erubis.new({ location: 'a cheap motel' })

      # Run filter
      assert_raises LocalJumpError do
        filter.setup_and_run('<%= "I was hiding in #{yield}." %>')
      end
    end
  end

  def test_filter_with_erbout
    if_have 'erubis' do
      filter = ::Nanoc::Filters::Erubis.new
      result = filter.setup_and_run('stuff<% _erbout << _erbout %>')
      assert_equal 'stuffstuff', result
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
nanoc-4.4.5 test/filters/test_erubis.rb
nanoc-4.4.4 test/filters/test_erubis.rb
nanoc-4.4.3 test/filters/test_erubis.rb
nanoc-4.4.2 test/filters/test_erubis.rb
nanoc-4.4.1 test/filters/test_erubis.rb
nanoc-4.4.0 test/filters/test_erubis.rb
nanoc-4.3.8 test/filters/test_erubis.rb
nanoc-4.3.7 test/filters/test_erubis.rb
nanoc-4.3.6 test/filters/test_erubis.rb
nanoc-4.3.5 test/filters/test_erubis.rb
nanoc-4.3.4 test/filters/test_erubis.rb
nanoc-4.3.3 test/filters/test_erubis.rb
nanoc-4.3.2 test/filters/test_erubis.rb
nanoc-4.3.1 test/filters/test_erubis.rb
nanoc-4.3.0 test/filters/test_erubis.rb
nanoc-4.2.4 test/filters/test_erubis.rb
nanoc-4.2.3 test/filters/test_erubis.rb
nanoc-4.2.2 test/filters/test_erubis.rb
nanoc-4.2.1 test/filters/test_erubis.rb
nanoc-4.2.0 test/filters/test_erubis.rb