Sha256: 08a5859e9fa37eabb36e865a3390c1d5fb140deb4c51935512c2e570e0d69226

Contents?: true

Size: 1.72 KB

Versions: 3

Compression:

Stored size: 1.72 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../test_helper')

class HtmlElementByDefaultTest < Test::Unit::TestCase
  def setup
    @element = MenuHelper::HtmlElement.new
  end
  
  def test_should_generate_an_empty_tag
    assert_equal '<></>', @element.html
  end
  
  def test_not_have_any_html_options
    element = MenuHelper::HtmlElement.new
    assert_nil element[:class]
  end
end

class HtmlElementTest < Test::Unit::TestCase
  class DivElement < MenuHelper::HtmlElement
    def tag_name
      'div'
    end
  end
  
  def test_should_set_html_options_on_initialization
    element = MenuHelper::HtmlElement.new(:class => 'fancy')
    assert_equal 'fancy', element[:class]
  end
  
  def test_should_symbolize_html_options
    element = MenuHelper::HtmlElement.new('class' => 'fancy')
    assert_equal 'fancy', element[:class]
  end
  
  def test_should_generate_entire_element_if_content_and_tag_name_specified
    element = DivElement.new
    element.instance_eval do
      def content
        'hello world'
      end
    end
    
    assert_equal '<div>hello world</div>', element.html
  end
  
  def test_should_include_html_options_in_element_tag
    element = DivElement.new
    element[:class] = 'fancy'
    
    assert_equal '<div class="fancy"></div>', element.html
  end
  
  def test_should_save_changes_in_html_options
    element = MenuHelper::HtmlElement.new
    element[:float] = 'left'
    assert_equal 'left', element[:float]
  end
end

class HtmlElementWithNoContentTest < Test::Unit::TestCase
  class DivElement < MenuHelper::HtmlElement
    def tag_name
      'div'
    end
  end
  
  def setup
    @element = DivElement.new
  end
  
  def test_should_generate_empty_tags
    assert_equal '<div></div>', @element.html
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
menu_helper-0.3.1 test/unit/html_element_test.rb
menu_helper-0.3.0 test/unit/html_element_test.rb
menu_helper-0.2.0 test/unit/html_element_test.rb