Sha256: 3c050a95ee05314cbf1246a82b3cef2f3a2c40762dfb244a4d7eef5aa489baeb

Contents?: true

Size: 1.8 KB

Versions: 3

Compression:

Stored size: 1.8 KB

Contents

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

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

class HtmlElementTest < Test::Unit::TestCase
  class DivElement < PluginAWeek::TableHelper::HtmlElement
    def tag_name
      'div'
    end
  end
  
  def test_should_set_html_options_on_initialization
    element = PluginAWeek::TableHelper::HtmlElement.new(:class => 'fancy')
    assert_equal 'fancy', element[:class]
  end
  
  def test_should_symbolize_html_options
    element = PluginAWeek::TableHelper::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 = PluginAWeek::TableHelper::HtmlElement.new
    element[:float] = 'left'
    assert_equal 'left', element[:float]
  end
end

class HtmlElementWithNoContentTest < Test::Unit::TestCase
  class DivElement < PluginAWeek::TableHelper::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
table_helper-0.0.3 test/html_element_test.rb
table_helper-0.0.5 test/html_element_test.rb
table_helper-0.0.4 test/html_element_test.rb