Sha256: 817964e8fee78f655f66c1721cdb3c6c45ada8ef4aa2b9fe298678599ddf030d

Contents?: true

Size: 1.78 KB

Versions: 8

Compression:

Stored size: 1.78 KB

Contents

# encoding: utf-8

class Nanoc3::FilterTest < MiniTest::Unit::TestCase

  include Nanoc3::TestHelpers

  def test_initialize
    # Create filter
    filter = Nanoc3::Filter.new

    # Test assigns
    assert_equal({}, filter.instance_eval { @assigns })
  end

  def test_assigns
    # Create filter
    filter = Nanoc3::Filter.new({ :foo => 'bar' })

    # Check assigns
    assert_equal('bar', filter.assigns[:foo])
  end

  def test_assigns_with_instance_variables
    # Create filter
    filter = Nanoc3::Filter.new({ :foo => 'bar' })

    # Check assigns
    assert_equal('bar', filter.instance_eval { @foo })
  end

  def test_assigns_with_instance_methods
    # Create filter
    filter = Nanoc3::Filter.new({ :foo => 'bar' })

    # Check assigns
    assert_equal('bar', filter.instance_eval { foo })
  end

  def test_run
    # Create filter
    filter = Nanoc3::Filter.new

    # Make sure an error is raised
    assert_raises(NotImplementedError) do
      filter.run(nil)
    end
  end

  def test_filename_item
    # Mock items
    item = mock
    item.expects(:identifier).returns('/foo/bar/baz/')
    item_rep = mock
    item_rep.expects(:name).returns(:quux)

    # Create filter
    filter = Nanoc3::Filter.new({ :item => item, :item_rep => item_rep })

    # Check filename
    assert_equal('item /foo/bar/baz/ (rep quux)', filter.filename)
  end

  def test_filename_layout
    # Mock items
    layout = mock
    layout.expects(:identifier).returns('/wohba/')

    # Create filter
    filter = Nanoc3::Filter.new({ :item => mock, :item_rep => mock, :layout => layout })

    # Check filename
    assert_equal('layout /wohba/', filter.filename)
  end

  def test_filename_unknown
    # Create filter
    filter = Nanoc3::Filter.new({})

    # Check filename
    assert_equal('?', filter.filename)
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

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