Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #10802: label_tag.diff

File label_tag.diff, 2.5 kB (added by DefV, 6 months ago)
  • trunk/actionpack/test/template/form_tag_helper_test.rb

    old new  
    187187    expected = %(<input id="title" name="title" size="70" maxlength="80" type="text" value="Hello!" />) 
    188188    assert_dom_equal expected, actual 
    189189  end 
     190   
     191  def test_label_tag_without_text 
     192    actual = label_tag "title" 
     193    expected = %(<label for="title">Title</label>) 
     194    assert_dom_equal expected, actual 
     195  end 
     196   
     197  def test_label_tag_with_text 
     198    actual = label_tag "title", "My Title" 
     199    expected = %(<label for="title">My Title</label>) 
     200    assert_dom_equal expected, actual 
     201  end 
     202   
     203  def test_label_tag_class_string 
     204    actual = label_tag "title", "My Title", "class" => "small_label" 
     205    expected = %(<label for="title" class="small_label">My Title</label>) 
     206    assert_dom_equal expected, actual 
     207  end 
    190208 
    191209  def test_boolean_optios 
    192210    assert_dom_equal %(<input checked="checked" disabled="disabled" id="admin" name="admin" readonly="readonly" type="checkbox" value="1" />), check_box_tag("admin", 1, true, 'disabled' => true, :readonly => "yes") 
  • trunk/actionpack/lib/action_view/helpers/form_tag_helper.rb

    old new  
    113113      def text_field_tag(name, value = nil, options = {}) 
    114114        tag :input, { "type" => "text", "name" => name, "id" => name, "value" => value }.update(options.stringify_keys) 
    115115      end 
     116       
     117      # Creates a label field 
     118      #  
     119      # ==== Options 
     120      # * Creates standard HTML attributes for the tag. 
     121      # 
     122      # ==== Examples 
     123      #   label_tag 'name' 
     124      #   # => <label for="name">Name</label> 
     125      # 
     126      #   label_tag 'name', 'Your name' 
     127      #   # => <label for="name">Your Name</label> 
     128      # 
     129      #   label_tag 'name', nil, :class => 'small_label' 
     130      #   # => <label for="name" class="small_label">Name</label> 
     131      def label_tag(name, text = nil, options = {}) 
     132        content_tag :label, text || name.humanize, { "for" => name }.update(options.stringify_keys) 
     133      end 
    116134 
    117135      # Creates a hidden form input field used to transmit data that would be lost due to HTTP's statelessness or 
    118136      # data that should be hidden from the user.