require 'test_helper' class ActiveLinkToTest < Test::Unit::TestCase def test_matching_self request.fullpath = '/test' out = active_link_to 'name', '/test' assert_equal 'name', out out = active_link_to 'name', '/test', :active => { :when => :self } assert_equal 'name', out out = active_link_to 'name', '/not-test' assert_equal 'name', out end def test_matching_self_with_extra_parameters request.fullpath = '/test?status=what' out = active_link_to 'name', '/test' assert_equal 'name', out end def test_matching_self_only request.fullpath = '/test/fail' out = active_link_to 'name', '/test/fail', :active => { :when => :self_only } assert_equal 'name', out out = active_link_to 'name', '/test', :active => { :when => :self_only } assert_equal 'name', out end def test_matching_self_only_with_extra_parameters request.fullpath = '/test/fail?why=because' out = active_link_to 'name', '/test/fail', :active => { :when => :self_only } assert_equal 'name', out end def test_matching_custom_regex request.fullpath = '/test/something_else' out = active_link_to 'name', '/test', :active => { :when => /^\/te/} assert_equal 'name', out out = active_link_to 'name', '/test', :active => { :when => /^\/no/} assert_equal 'name', out end def test_matching_controller_action_touples request.fullpath = '/test/23' params[:controller], params[:action] = 'tests', 'show' out = active_link_to 'name', '/test/23', :active => { :when => [['tests'], ['show', 'edit']]} assert_equal 'name', out out = active_link_to 'name', '/test/23', :active => { :when => [['tests'], []]} assert_equal 'name', out out = active_link_to 'name', '/test/23', :active => { :when => [[], ['show']]} assert_equal 'name', out out = active_link_to 'name', '/test/23', :active => { :when => [['tests'], ['update']]} assert_equal 'name', out end def test_matching_booleans request.fullpath = 'doesnotmatter' out = active_link_to 'name', '/test', :active => { :when => true } assert_equal 'name', out out = active_link_to 'name', '/test', :active => { :when => false } assert_equal 'name', out end def test_setting_active_class request.fullpath = '/test' out = active_link_to 'name', '/test', :active => { :active_class => 'new_active'} assert_equal 'name', out end def test_setting_inactive_class request.fullpath = '/test' out = active_link_to 'name', '/not-test', :active => { :inactive_class => 'new_inactive'} assert_equal 'name', out end def test_transforming_to_span request.fullpath = '/test' out = active_link_to 'name', '/test', :active => { :disable_link => true } assert_equal 'name', out end def test_should_not_modify_passed_params request.fullpath = '/test' params = {:class => 'testing'} out = active_link_to 'name', '/test', params assert_equal 'name', out assert_equal ({:class => 'testing'}), params end end