Sha256: 71f4427a90335b0e69d8a104efca6ff27b2bc3a612e9d7602b8f51a8f902bbb9

Contents?: true

Size: 1.76 KB

Versions: 8

Compression:

Stored size: 1.76 KB

Contents

# encoding: utf-8

class Nanoc3::Filters::ErubisTest < MiniTest::Unit::TestCase

  include Nanoc3::TestHelpers

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

      # Run filter
      result = filter.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 = ::Nanoc3::Filters::Erubis.new({ :location => 'a cheap motel' })

      # Run filter
      result = filter.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 = ::Nanoc3::Filters::Erubis.new

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

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

      # Run filter
      result = filter.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 = ::Nanoc3::Filters::Erubis.new({ :location => 'a cheap motel' })

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

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
nanoc3-3.2.4 test/filters/test_erubis.rb
nanoc3-3.2.3 test/filters/test_erubis.rb
nanoc3-3.2.2 test/filters/test_erubis.rb
nanoc3-3.2.1 test/filters/test_erubis.rb
nanoc3-3.2.0 test/filters/test_erubis.rb
nanoc3-3.2.0b3 test/filters/test_erubis.rb
nanoc3-3.2.0b2 test/filters/test_erubis.rb
nanoc3-3.2.0b1 test/filters/test_erubis.rb