Sha256: 86849a36ac6e75de951552868131ad105f9546e7113abe3109c18e95ef184844

Contents?: true

Size: 1.2 KB

Versions: 5

Compression:

Stored size: 1.2 KB

Contents

require 'helper.rb'

module BibTeX
  class FiltersTest < MiniTest::Spec
    
    should "Filters should be singleton classes" do
      assert_equal false, Filter.respond_to?(:new)
      assert_equal Filter.instance.object_id, Filter.instance.object_id
    end
    
    context 'Filters.resolve' do
      should "return the filter if a filter is given" do
        assert_equal Filter.instance.object_id, Filters.resolve(Filter.instance).object_id
      end

      should "return the parameter if it quacks like a filter" do
        f = Object.new
        def f.apply; nil; end
        assert_equal f.object_id, Filters.resolve(f).object_id
      end

      should "return the filter if there is a filter by that name" do
        class FooBar < Filter; end
        assert_equal FooBar.instance.object_id, Filters.resolve(:foobar).object_id
        assert_equal FooBar.instance.object_id, Filters.resolve('foobar').object_id
        Filter.subclasses.delete(FooBar)
      end
      
      should "return nil if there is no filter by that name" do
        assert_equal nil, Filters.resolve(:foobar)
        assert_equal nil, Filters.resolve('foobar')
        assert_equal nil, Filters.resolve(nil)
      end
    end
    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
bibtex-ruby-1.3.12 test/bibtex/test_filters.rb
bibtex-ruby-1.3.11 test/bibtex/test_filters.rb
bibtex-ruby-1.3.10 test/bibtex/test_filters.rb
bibtex-ruby-1.3.9 test/bibtex/test_filters.rb
bibtex-ruby-1.3.8 test/bibtex/test_filters.rb