merb-helpers 1.0.8.1 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/merb-helpers/form/builder.rb +11 -1
 - data/spec/fixture/app/views/bound_check_box_specs/basic_unchecked.html.erb +3 -0
 - data/spec/fixture/app/views/bound_select_specs/label.html.erb +3 -0
 - data/spec/fixture/app/views/bound_text_area_specs/label.html.erb +3 -0
 - data/spec/fixture/app/views/check_box_specs/label.html.erb +1 -1
 - data/spec/fixture/app/views/file_field_specs/with_label.html.erb +1 -1
 - data/spec/fixture/app/views/radio_button_specs/checked.html.erb +1 -0
 - data/spec/fixture/app/views/radio_button_specs/unchecked.html.erb +1 -0
 - data/spec/fixture/app/views/radio_group_specs/checked.html.erb +1 -0
 - data/spec/fixture/app/views/select_specs/basic.html.erb +1 -0
 - data/spec/fixture/app/views/select_specs/selected.html.erb +1 -0
 - data/spec/fixture/app/views/text_field_specs/symbolized_name.html.erb +1 -0
 - data/spec/merb_helpers_form_spec.rb +127 -39
 - metadata +12 -3
 
| 
         @@ -171,6 +171,8 @@ module Merb::Helpers::Form::Builder 
     | 
|
| 
       171 
171 
     | 
    
         
             
                  case type
         
     | 
| 
       172 
172 
     | 
    
         
             
                  when "checkbox"
         
     | 
| 
       173 
173 
     | 
    
         
             
                    update_unbound_check_box(attrs)
         
     | 
| 
      
 174 
     | 
    
         
            +
                  when "radio"
         
     | 
| 
      
 175 
     | 
    
         
            +
                    update_unbound_radio_button(attrs)
         
     | 
| 
       174 
176 
     | 
    
         
             
                  when "file"
         
     | 
| 
       175 
177 
     | 
    
         
             
                    @multipart = true
         
     | 
| 
       176 
178 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -197,6 +199,10 @@ module Merb::Helpers::Form::Builder 
     | 
|
| 
       197 
199 
     | 
    
         
             
                  attrs[:checked] = "checked" if attrs.delete(:checked)
         
     | 
| 
       198 
200 
     | 
    
         
             
                end
         
     | 
| 
       199 
201 
     | 
    
         | 
| 
      
 202 
     | 
    
         
            +
                def update_unbound_radio_button(attrs)
         
     | 
| 
      
 203 
     | 
    
         
            +
                  attrs[:checked] = "checked" if attrs.delete(:checked)
         
     | 
| 
      
 204 
     | 
    
         
            +
                end
         
     | 
| 
      
 205 
     | 
    
         
            +
                
         
     | 
| 
       200 
206 
     | 
    
         
             
                # Accepts a collection (hash, array, enumerable, your type) and returns a string of option tags. 
         
     | 
| 
       201 
207 
     | 
    
         
             
                # Given a collection where the elements respond to first and last (such as a two-element array), 
         
     | 
| 
       202 
208 
     | 
    
         
             
                # the "lasts" serve as option values and the "firsts" as option text. Hashes are turned into
         
     | 
| 
         @@ -268,7 +274,7 @@ module Merb::Helpers::Form::Builder 
     | 
|
| 
       268 
274 
     | 
    
         
             
                end
         
     | 
| 
       269 
275 
     | 
    
         | 
| 
       270 
276 
     | 
    
         
             
                def considered_true?(value)
         
     | 
| 
       271 
     | 
    
         
            -
                  value && value != "0" && value != 0
         
     | 
| 
      
 277 
     | 
    
         
            +
                  value && value != "false" && value != "0" && value != 0
         
     | 
| 
       272 
278 
     | 
    
         
             
                end
         
     | 
| 
       273 
279 
     | 
    
         | 
| 
       274 
280 
     | 
    
         
             
                def control_name(method)
         
     | 
| 
         @@ -315,6 +321,8 @@ module Merb::Helpers::Form::Builder 
     | 
|
| 
       315 
321 
     | 
    
         
             
                def unbound_label(attrs = {})
         
     | 
| 
       316 
322 
     | 
    
         
             
                  if attrs[:id]
         
     | 
| 
       317 
323 
     | 
    
         
             
                    label_attrs = {:for => attrs[:id]}
         
     | 
| 
      
 324 
     | 
    
         
            +
                  elsif attrs[:name]
         
     | 
| 
      
 325 
     | 
    
         
            +
                    label_attrs = {:for => attrs[:name]}
         
     | 
| 
       318 
326 
     | 
    
         
             
                  else
         
     | 
| 
       319 
327 
     | 
    
         
             
                    label_attrs = {}
         
     | 
| 
       320 
328 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -366,6 +374,8 @@ module Merb::Helpers::Form::Builder 
     | 
|
| 
       366 
374 
     | 
    
         
             
                end
         
     | 
| 
       367 
375 
     | 
    
         | 
| 
       368 
376 
     | 
    
         
             
                def update_unbound_controls(attrs, type)
         
     | 
| 
      
 377 
     | 
    
         
            +
                  attrs.merge!(:id => attrs[:name]) if attrs[:name] && !attrs[:id]
         
     | 
| 
      
 378 
     | 
    
         
            +
             
     | 
| 
       369 
379 
     | 
    
         
             
                  case type
         
     | 
| 
       370 
380 
     | 
    
         
             
                  when "text", "radio", "password", "hidden", "checkbox", "file"
         
     | 
| 
       371 
381 
     | 
    
         
             
                    add_css_class(attrs, type)
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <%= check_box(:label => "LABEL" ) %>
         
     | 
| 
      
 1 
     | 
    
         
            +
            <%= check_box(:name => "foo", :label => "LABEL" ) %>
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            <%= file_field :label => 'LABEL' %>
         
     | 
| 
      
 1 
     | 
    
         
            +
            <%= file_field(:name => "foo", :label => 'LABEL') %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= radio_button(:name => "foo", :value => "bar", :checked => true) %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= radio_button(:name => "foo", :value => "bar", :checked => false) %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= radio_group([{:value => 5, :label => "Five"}, {:value => 'bar', :label => 'Bar', :checked => true}]) %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= select(:name => "foo", :collection => %w(one two three)) %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= select(:name => "foo", :collection => %w(one two three), :selected => "three") %>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <%= text_field(:name => :foo, :value => "bar", :style => "width: 100px", :label => "LABEL") %>
         
     | 
| 
         @@ -236,14 +236,9 @@ describe "text_field" do 
     | 
|
| 
       236 
236 
     | 
    
         | 
| 
       237 
237 
     | 
    
         
             
              it "should return a basic text field based on the values passed in" do
         
     | 
| 
       238 
238 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       239 
     | 
    
         
            -
                r.should have_selector("input[type=text][name=foo][value=bar]")
         
     | 
| 
       240 
     | 
    
         
            -
              end
         
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
       242 
     | 
    
         
            -
              it "should provide an additional label tag if the :label option is passed in" do
         
     | 
| 
       243 
     | 
    
         
            -
                r = @c.render :basic
         
     | 
| 
       244 
     | 
    
         
            -
                r.should match(/<label>LABEL<\/label>/)
         
     | 
| 
      
 239 
     | 
    
         
            +
                r.should have_selector("input[type=text][id=foo][name=foo][value=bar]")
         
     | 
| 
       245 
240 
     | 
    
         
             
              end
         
     | 
| 
       246 
     | 
    
         
            -
             
     | 
| 
      
 241 
     | 
    
         
            +
              
         
     | 
| 
       247 
242 
     | 
    
         
             
              it "should update an existing :class with a new class" do
         
     | 
| 
       248 
243 
     | 
    
         
             
                r = @c.render :class
         
     | 
| 
       249 
244 
     | 
    
         
             
                r.should == "<input type=\"text\" class=\"awesome foobar text\"/>"
         
     | 
| 
         @@ -256,9 +251,14 @@ describe "text_field" do 
     | 
|
| 
       256 
251 
     | 
    
         | 
| 
       257 
252 
     | 
    
         
             
              it "should provide an additional label tag if the :label option is passed in as a hash" do
         
     | 
| 
       258 
253 
     | 
    
         
             
                r = @c.render :label
         
     | 
| 
       259 
     | 
    
         
            -
                r.should  
     | 
| 
      
 254 
     | 
    
         
            +
                r.should have_selector("label[class=cool][for=foo]:contains('LABEL')")
         
     | 
| 
      
 255 
     | 
    
         
            +
              end
         
     | 
| 
      
 256 
     | 
    
         
            +
              
         
     | 
| 
      
 257 
     | 
    
         
            +
              it "should allow a symbolized name" do
         
     | 
| 
      
 258 
     | 
    
         
            +
                r = @c.render :symbolized_name
         
     | 
| 
      
 259 
     | 
    
         
            +
                r.should have_selector("input[type=text][name=foo][value=bar]")
         
     | 
| 
      
 260 
     | 
    
         
            +
                r.should have_selector("label[for=foo]:contains('LABEL')")
         
     | 
| 
       260 
261 
     | 
    
         
             
              end
         
     | 
| 
       261 
     | 
    
         
            -
             
     | 
| 
       262 
262 
     | 
    
         
             
            end
         
     | 
| 
       263 
263 
     | 
    
         | 
| 
       264 
264 
     | 
    
         
             
            describe "bound_text_field" do
         
     | 
| 
         @@ -270,7 +270,7 @@ describe "bound_text_field" do 
     | 
|
| 
       270 
270 
     | 
    
         | 
| 
       271 
271 
     | 
    
         
             
              it "should take a string object and return a useful text control" do
         
     | 
| 
       272 
272 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       273 
     | 
    
         
            -
                r.should have_selector("input[type=text][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
      
 273 
     | 
    
         
            +
                r.should have_selector("input[type=text][id=fake_model_foo][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
       274 
274 
     | 
    
         
             
              end
         
     | 
| 
       275 
275 
     | 
    
         | 
| 
       276 
276 
     | 
    
         
             
              it "should take additional attributes and use them" do
         
     | 
| 
         @@ -283,6 +283,11 @@ describe "bound_text_field" do 
     | 
|
| 
       283 
283 
     | 
    
         
             
                form.should match(/<label.*>LABEL<\/label><input/)
         
     | 
| 
       284 
284 
     | 
    
         
             
                form.should_not have_selector("input[label=LABEL]")
         
     | 
| 
       285 
285 
     | 
    
         
             
              end
         
     | 
| 
      
 286 
     | 
    
         
            +
              
         
     | 
| 
      
 287 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 288 
     | 
    
         
            +
                form = @c.render :basic
         
     | 
| 
      
 289 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
      
 290 
     | 
    
         
            +
              end
         
     | 
| 
       286 
291 
     | 
    
         | 
| 
       287 
292 
     | 
    
         
             
              it "should not errorify the field for a new object" do
         
     | 
| 
       288 
293 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
         @@ -313,7 +318,7 @@ describe "bound_radio_button" do 
     | 
|
| 
       313 
318 
     | 
    
         | 
| 
       314 
319 
     | 
    
         
             
              it "should take a string object and return a useful text control" do
         
     | 
| 
       315 
320 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       316 
     | 
    
         
            -
                r.should have_selector("input[type=radio][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
      
 321 
     | 
    
         
            +
                r.should have_selector("input[type=radio][id=fake_model_foo][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
       317 
322 
     | 
    
         
             
              end
         
     | 
| 
       318 
323 
     | 
    
         | 
| 
       319 
324 
     | 
    
         
             
              it "should take additional attributes and use them" do
         
     | 
| 
         @@ -326,6 +331,11 @@ describe "bound_radio_button" do 
     | 
|
| 
       326 
331 
     | 
    
         
             
                form.should have_selector("input + label:contains('LABEL')")
         
     | 
| 
       327 
332 
     | 
    
         
             
                form.should_not have_selector("input[label]")
         
     | 
| 
       328 
333 
     | 
    
         
             
              end
         
     | 
| 
      
 334 
     | 
    
         
            +
              
         
     | 
| 
      
 335 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 336 
     | 
    
         
            +
                form = @c.render :basic
         
     | 
| 
      
 337 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
      
 338 
     | 
    
         
            +
              end
         
     | 
| 
       329 
339 
     | 
    
         | 
| 
       330 
340 
     | 
    
         
             
              it "should not errorify the field for a new object" do
         
     | 
| 
       331 
341 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
         @@ -355,12 +365,12 @@ describe "password_field" do 
     | 
|
| 
       355 
365 
     | 
    
         | 
| 
       356 
366 
     | 
    
         
             
              it "should return a basic password field, but omit the value" do
         
     | 
| 
       357 
367 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       358 
     | 
    
         
            -
                r.should have_selector("input[type=password][name=foo]")
         
     | 
| 
      
 368 
     | 
    
         
            +
                r.should have_selector("input[type=password][id=foo][name=foo]")
         
     | 
| 
       359 
369 
     | 
    
         
             
              end
         
     | 
| 
       360 
370 
     | 
    
         | 
| 
       361 
371 
     | 
    
         
             
              it "should provide an additional label tag if the :label option is passed in" do
         
     | 
| 
       362 
372 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       363 
     | 
    
         
            -
                r.should have_selector("label:contains('LABEL')")
         
     | 
| 
      
 373 
     | 
    
         
            +
                r.should have_selector("label[for=foo]:contains('LABEL')")
         
     | 
| 
       364 
374 
     | 
    
         
             
              end
         
     | 
| 
       365 
375 
     | 
    
         | 
| 
       366 
376 
     | 
    
         
             
              it "should be disabled if :disabled => true is passed in" do
         
     | 
| 
         @@ -379,7 +389,7 @@ describe "bound_password_field" do 
     | 
|
| 
       379 
389 
     | 
    
         | 
| 
       380 
390 
     | 
    
         
             
              it "should take a string object and return a useful password control, but omit the value" do
         
     | 
| 
       381 
391 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       382 
     | 
    
         
            -
                r.should match_tag(:input, :type => "password", :name => "fake_model[foo]")
         
     | 
| 
      
 392 
     | 
    
         
            +
                r.should match_tag(:input, :type => "password", :id => "fake_model_foo", :name => "fake_model[foo]")
         
     | 
| 
       383 
393 
     | 
    
         
             
              end
         
     | 
| 
       384 
394 
     | 
    
         | 
| 
       385 
395 
     | 
    
         
             
              it "should take additional attributes and use them" do
         
     | 
| 
         @@ -392,6 +402,11 @@ describe "bound_password_field" do 
     | 
|
| 
       392 
402 
     | 
    
         
             
                r.should match(/<label.*>LABEL<\/label><input/)
         
     | 
| 
       393 
403 
     | 
    
         
             
                r.should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       394 
404 
     | 
    
         
             
              end
         
     | 
| 
      
 405 
     | 
    
         
            +
              
         
     | 
| 
      
 406 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 407 
     | 
    
         
            +
                form = @c.render :basic
         
     | 
| 
      
 408 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
      
 409 
     | 
    
         
            +
              end
         
     | 
| 
       395 
410 
     | 
    
         | 
| 
       396 
411 
     | 
    
         
             
              it "should not errorify the field for a new object" do
         
     | 
| 
       397 
412 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
         @@ -423,12 +438,14 @@ describe "check_box" do 
     | 
|
| 
       423 
438 
     | 
    
         | 
| 
       424 
439 
     | 
    
         
             
              it "should return a basic checkbox based on the values passed in" do
         
     | 
| 
       425 
440 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       426 
     | 
    
         
            -
                r.should match_tag(:input, :class => "checkbox", :name => "foo", :checked => "checked")
         
     | 
| 
      
 441 
     | 
    
         
            +
                r.should match_tag(:input, :class => "checkbox", :id => "foo", :name => "foo", :checked => "checked")
         
     | 
| 
       427 
442 
     | 
    
         
             
              end
         
     | 
| 
       428 
443 
     | 
    
         | 
| 
       429 
444 
     | 
    
         
             
              it "should provide an additional label tag if the :label option is passed in" do
         
     | 
| 
       430 
445 
     | 
    
         
             
                result = @c.render :label
         
     | 
| 
       431 
     | 
    
         
            -
                result.should  
     | 
| 
      
 446 
     | 
    
         
            +
                result.should have_selector("label[for=foo]:contains('LABEL')")
         
     | 
| 
      
 447 
     | 
    
         
            +
             
     | 
| 
      
 448 
     | 
    
         
            +
                result.should match(/<input.*><label/)
         
     | 
| 
       432 
449 
     | 
    
         
             
                res = result.scan(/<[^>]*>/)
         
     | 
| 
       433 
450 
     | 
    
         
             
                res[0].should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       434 
451 
     | 
    
         
             
              end
         
     | 
| 
         @@ -508,8 +525,8 @@ describe "bound_check_box" do 
     | 
|
| 
       508 
525 
     | 
    
         | 
| 
       509 
526 
     | 
    
         
             
              it "should take a string and return a useful checkbox control" do
         
     | 
| 
       510 
527 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       511 
     | 
    
         
            -
                r.should match_tag(:input, :type =>"checkbox", :name => "fake_model[baz]", :class => "checkbox", :value => "1", :checked => "checked", :id => "fake_model_baz")
         
     | 
| 
       512 
     | 
    
         
            -
                r.should match_tag(:input, :type =>"hidden", 
     | 
| 
      
 528 
     | 
    
         
            +
                r.should match_tag(:input, :type =>"checkbox", :id => "fake_model_baz", :name => "fake_model[baz]", :class => "checkbox", :value => "1", :checked => "checked", :id => "fake_model_baz")
         
     | 
| 
      
 529 
     | 
    
         
            +
                r.should match_tag(:input, :type =>"hidden",  :name => "fake_model[baz]", :value => "0")
         
     | 
| 
       513 
530 
     | 
    
         
             
              end
         
     | 
| 
       514 
531 
     | 
    
         | 
| 
       515 
532 
     | 
    
         
             
              it "should raise an error if you try to use :value" do
         
     | 
| 
         @@ -548,6 +565,11 @@ describe "bound_check_box" do 
     | 
|
| 
       548 
565 
     | 
    
         
             
                form.should match( /<input.*><label.*>LABEL<\/label>/ )
         
     | 
| 
       549 
566 
     | 
    
         
             
                form.should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       550 
567 
     | 
    
         
             
              end
         
     | 
| 
      
 568 
     | 
    
         
            +
              
         
     | 
| 
      
 569 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 570 
     | 
    
         
            +
                form = @c.render :label
         
     | 
| 
      
 571 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
      
 572 
     | 
    
         
            +
              end
         
     | 
| 
       551 
573 
     | 
    
         | 
| 
       552 
574 
     | 
    
         
             
              it "should not errorify the field for a new object" do
         
     | 
| 
       553 
575 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
         @@ -581,7 +603,13 @@ describe "bound_check_box" do 
     | 
|
| 
       581 
603 
     | 
    
         
             
                r = @c.render :checked
         
     | 
| 
       582 
604 
     | 
    
         
             
                r.should match_tag(:input, :type =>"checkbox", :value => "foowee", :checked => "checked")
         
     | 
| 
       583 
605 
     | 
    
         
             
                r.should match_tag(:input, :type =>"checkbox", :value => "YES")
         
     | 
| 
      
 606 
     | 
    
         
            +
              end
         
     | 
| 
       584 
607 
     | 
    
         | 
| 
      
 608 
     | 
    
         
            +
              it "should render false attributes as not checked" do
         
     | 
| 
      
 609 
     | 
    
         
            +
                @c.instance_variable_set(:@obj, FakeDMModel.new)
         
     | 
| 
      
 610 
     | 
    
         
            +
                r = @c.render :basic_unchecked
         
     | 
| 
      
 611 
     | 
    
         
            +
                r.should match_tag(:input, :type =>"checkbox", :name => "fake_dm_model[bat]")
         
     | 
| 
      
 612 
     | 
    
         
            +
                r.should_not include("checked=")
         
     | 
| 
       585 
613 
     | 
    
         
             
              end
         
     | 
| 
       586 
614 
     | 
    
         
             
            end
         
     | 
| 
       587 
615 
     | 
    
         | 
| 
         @@ -593,7 +621,7 @@ describe "hidden_field" do 
     | 
|
| 
       593 
621 
     | 
    
         | 
| 
       594 
622 
     | 
    
         
             
              it "should return a basic checkbox based on the values passed in" do
         
     | 
| 
       595 
623 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       596 
     | 
    
         
            -
                r.should match_tag(:input, :type => "hidden", :name => "foo", :value => "bar")
         
     | 
| 
      
 624 
     | 
    
         
            +
                r.should match_tag(:input, :type => "hidden", :id => "foo", :name => "foo", :value => "bar")
         
     | 
| 
       597 
625 
     | 
    
         
             
              end
         
     | 
| 
       598 
626 
     | 
    
         | 
| 
       599 
627 
     | 
    
         
             
              it "should not render a label if the :label option is passed in" do
         
     | 
| 
         @@ -617,7 +645,7 @@ describe "bound_hidden_field" do 
     | 
|
| 
       617 
645 
     | 
    
         | 
| 
       618 
646 
     | 
    
         
             
              it "should take a string and return a hidden field control" do
         
     | 
| 
       619 
647 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       620 
     | 
    
         
            -
                r.should match_tag(:input, :type =>"hidden", :name => "fake_model[foo]", :value => "foowee")
         
     | 
| 
      
 648 
     | 
    
         
            +
                r.should match_tag(:input, :type =>"hidden", :id => "fake_model_foo", :name => "fake_model[foo]", :value => "foowee")
         
     | 
| 
       621 
649 
     | 
    
         
             
              end
         
     | 
| 
       622 
650 
     | 
    
         | 
| 
       623 
651 
     | 
    
         
             
              it "should render controls with errors if their attribute contains an error" do
         
     | 
| 
         @@ -630,7 +658,7 @@ describe "bound_hidden_field" do 
     | 
|
| 
       630 
658 
     | 
    
         
             
                r.should_not match(/<label>LABEL/)
         
     | 
| 
       631 
659 
     | 
    
         
             
                r.should_not match_tag(:input, :label=> "LABEL")
         
     | 
| 
       632 
660 
     | 
    
         
             
              end
         
     | 
| 
       633 
     | 
    
         
            -
             
     | 
| 
      
 661 
     | 
    
         
            +
              
         
     | 
| 
       634 
662 
     | 
    
         
             
              it "should not errorify the field for a new object" do
         
     | 
| 
       635 
663 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       636 
664 
     | 
    
         
             
                r.should_not match_tag(:input, :type => "hidden", :class => "error")
         
     | 
| 
         @@ -666,18 +694,30 @@ describe "radio_button" do 
     | 
|
| 
       666 
694 
     | 
    
         | 
| 
       667 
695 
     | 
    
         
             
              it "should provide an additional label tag if the :label option is passed in" do
         
     | 
| 
       668 
696 
     | 
    
         
             
                result = @c.render :label
         
     | 
| 
       669 
     | 
    
         
            -
                # result.should match(/<label.*>LABEL<\/label><input/)
         
     | 
| 
       670 
     | 
    
         
            -
                # res = result.scan(/<[^>]*>/)
         
     | 
| 
       671 
     | 
    
         
            -
                # res[2].should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       672 
697 
     | 
    
         
             
                result.should match(/<input.*><label.*>LABEL<\/label>/)
         
     | 
| 
       673 
698 
     | 
    
         
             
                res = result.scan(/<[^>]*>/)
         
     | 
| 
       674 
699 
     | 
    
         
             
                res[0].should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       675 
700 
     | 
    
         
             
              end
         
     | 
| 
       676 
701 
     | 
    
         | 
| 
      
 702 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 703 
     | 
    
         
            +
                form = @c.render :label
         
     | 
| 
      
 704 
     | 
    
         
            +
                form.should have_selector("label[for='foo']:contains('LABEL')")
         
     | 
| 
      
 705 
     | 
    
         
            +
              end  
         
     | 
| 
      
 706 
     | 
    
         
            +
             
     | 
| 
       677 
707 
     | 
    
         
             
              it "should be disabled if :disabled => true is passed in" do
         
     | 
| 
       678 
708 
     | 
    
         
             
                r = @c.render :disabled
         
     | 
| 
       679 
709 
     | 
    
         
             
                r.should match_tag(:input, :type => "radio", :disabled => "disabled")
         
     | 
| 
       680 
710 
     | 
    
         
             
              end
         
     | 
| 
      
 711 
     | 
    
         
            +
              
         
     | 
| 
      
 712 
     | 
    
         
            +
              it "should be checked if :checked => true is passed in" do
         
     | 
| 
      
 713 
     | 
    
         
            +
                r = @c.render :checked
         
     | 
| 
      
 714 
     | 
    
         
            +
                r.should match_tag(:input, :type => "radio", :checked => "checked")
         
     | 
| 
      
 715 
     | 
    
         
            +
              end
         
     | 
| 
      
 716 
     | 
    
         
            +
              
         
     | 
| 
      
 717 
     | 
    
         
            +
              it "should be unchecked if :checked => false is passed in" do
         
     | 
| 
      
 718 
     | 
    
         
            +
                r = @c.render :unchecked
         
     | 
| 
      
 719 
     | 
    
         
            +
                r.should_not include("checked=")
         
     | 
| 
      
 720 
     | 
    
         
            +
              end
         
     | 
| 
       681 
721 
     | 
    
         
             
            end
         
     | 
| 
       682 
722 
     | 
    
         | 
| 
       683 
723 
     | 
    
         
             
            describe "radio_group" do
         
     | 
| 
         @@ -688,9 +728,9 @@ describe "radio_group" do 
     | 
|
| 
       688 
728 
     | 
    
         | 
| 
       689 
729 
     | 
    
         
             
              it "should return a group of radio buttons" do
         
     | 
| 
       690 
730 
     | 
    
         
             
                radio = @c.render :basic
         
     | 
| 
       691 
     | 
    
         
            -
                 
     | 
| 
       692 
     | 
    
         
            -
                 
     | 
| 
       693 
     | 
    
         
            -
                 
     | 
| 
      
 731 
     | 
    
         
            +
                radio_tags = radio.scan(/<[^>]*>/)
         
     | 
| 
      
 732 
     | 
    
         
            +
                radio_tags[0].should match_tag(:input, :type => "radio", :value => "foowee")
         
     | 
| 
      
 733 
     | 
    
         
            +
                radio_tags[3].should match_tag(:input, :type => "radio", :value => "baree")
         
     | 
| 
       694 
734 
     | 
    
         
             
              end
         
     | 
| 
       695 
735 
     | 
    
         | 
| 
       696 
736 
     | 
    
         
             
              it "should provide an additional label tag for each option in array-based options" do
         
     | 
| 
         @@ -710,7 +750,12 @@ describe "radio_group" do 
     | 
|
| 
       710 
750 
     | 
    
         
             
                radio.should match_tag(:input, :value => 'bar', :id => 'bar_id')
         
     | 
| 
       711 
751 
     | 
    
         
             
                radio.should match_tag(:label, :for => 'bar_id')
         
     | 
| 
       712 
752 
     | 
    
         
             
              end
         
     | 
| 
       713 
     | 
    
         
            -
             
     | 
| 
      
 753 
     | 
    
         
            +
              
         
     | 
| 
      
 754 
     | 
    
         
            +
              it "should render the label tags on each radio button with the proper for= atttribute" do
         
     | 
| 
      
 755 
     | 
    
         
            +
                form = @c.render :hash
         
     | 
| 
      
 756 
     | 
    
         
            +
                form.should have_selector("label[for='bar_id']:contains('Bar')")
         
     | 
| 
      
 757 
     | 
    
         
            +
              end  
         
     | 
| 
      
 758 
     | 
    
         
            +
              
         
     | 
| 
       714 
759 
     | 
    
         
             
              it "should apply attributes to each element" do
         
     | 
| 
       715 
760 
     | 
    
         
             
                radio = @c.render :attributes
         
     | 
| 
       716 
761 
     | 
    
         
             
                radio = radio.scan(/<[^>]*>/)
         
     | 
| 
         @@ -724,6 +769,11 @@ describe "radio_group" do 
     | 
|
| 
       724 
769 
     | 
    
         
             
                radio[0].should match_tag(:input, :type => "radio", :value => "foowee", :class => "CLASS radio")
         
     | 
| 
       725 
770 
     | 
    
         
             
                radio[3].should match_tag(:input, :type => "radio", :value => "baree", :class => "BAREE radio")
         
     | 
| 
       726 
771 
     | 
    
         
             
              end
         
     | 
| 
      
 772 
     | 
    
         
            +
              
         
     | 
| 
      
 773 
     | 
    
         
            +
              it "should allow specifying a checked radio button" do
         
     | 
| 
      
 774 
     | 
    
         
            +
                r = @c.render :checked
         
     | 
| 
      
 775 
     | 
    
         
            +
                r.should match_tag(:input, :value => "bar", :checked => "checked")
         
     | 
| 
      
 776 
     | 
    
         
            +
              end
         
     | 
| 
       727 
777 
     | 
    
         
             
            end
         
     | 
| 
       728 
778 
     | 
    
         | 
| 
       729 
779 
     | 
    
         | 
| 
         @@ -736,8 +786,8 @@ describe "bound_radio_group" do 
     | 
|
| 
       736 
786 
     | 
    
         | 
| 
       737 
787 
     | 
    
         
             
              it "should return a group of radio buttons" do
         
     | 
| 
       738 
788 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       739 
     | 
    
         
            -
                r.should match_tag(:input, :type => "radio", :name => "fake_model[foo]", :value => "foowee", :checked => "checked")
         
     | 
| 
       740 
     | 
    
         
            -
                r.should match_tag(:input, :type => "radio", :name => "fake_model[foo]", :value => "baree")
         
     | 
| 
      
 789 
     | 
    
         
            +
                r.should match_tag(:input, :type => "radio", :id => "fake_model_foo_foowee", :name => "fake_model[foo]", :value => "foowee", :checked => "checked")
         
     | 
| 
      
 790 
     | 
    
         
            +
                r.should match_tag(:input, :type => "radio", :id => "fake_model_foo_baree", :name => "fake_model[foo]", :value => "baree")
         
     | 
| 
       741 
791 
     | 
    
         
             
                r.should_not match_tag(:checked => "checked")
         
     | 
| 
       742 
792 
     | 
    
         
             
              end
         
     | 
| 
       743 
793 
     | 
    
         | 
| 
         @@ -748,6 +798,12 @@ describe "bound_radio_group" do 
     | 
|
| 
       748 
798 
     | 
    
         
             
                radio[0].should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       749 
799 
     | 
    
         
             
                radio[3].should_not match_tag(:input, :label => "LABEL")
         
     | 
| 
       750 
800 
     | 
    
         
             
              end
         
     | 
| 
      
 801 
     | 
    
         
            +
              
         
     | 
| 
      
 802 
     | 
    
         
            +
              it "should render the label tags on each radio option with the proper for= atttribute" do
         
     | 
| 
      
 803 
     | 
    
         
            +
                form = @c.render :basic
         
     | 
| 
      
 804 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo_foowee]:contains('foowee')")
         
     | 
| 
      
 805 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo_baree]:contains('baree')")
         
     | 
| 
      
 806 
     | 
    
         
            +
              end
         
     | 
| 
       751 
807 
     | 
    
         | 
| 
       752 
808 
     | 
    
         
             
              it "should accept array of hashes as options" do
         
     | 
| 
       753 
809 
     | 
    
         
             
                r = @c.render :hashes
         
     | 
| 
         @@ -789,12 +845,12 @@ describe "text_area" do 
     | 
|
| 
       789 
845 
     | 
    
         | 
| 
       790 
846 
     | 
    
         
             
              it "should should return a basic text area based on the values passed in" do
         
     | 
| 
       791 
847 
     | 
    
         
             
                r = @c.render :basic
         
     | 
| 
       792 
     | 
    
         
            -
                r.should match_tag(:textarea, :name => "foo")
         
     | 
| 
      
 848 
     | 
    
         
            +
                r.should match_tag(:textarea, :name => "foo", :id => "foo")
         
     | 
| 
       793 
849 
     | 
    
         
             
              end
         
     | 
| 
       794 
850 
     | 
    
         | 
| 
       795 
851 
     | 
    
         
             
              it "should handle a nil content" do
         
     | 
| 
       796 
852 
     | 
    
         
             
                r = @c.render :nil
         
     | 
| 
       797 
     | 
    
         
            -
                r.should == "<textarea name=\"foo\"></textarea>"
         
     | 
| 
      
 853 
     | 
    
         
            +
                r.should == "<textarea name=\"foo\" id=\"foo\"></textarea>"
         
     | 
| 
       798 
854 
     | 
    
         
             
              end
         
     | 
| 
       799 
855 
     | 
    
         | 
| 
       800 
856 
     | 
    
         | 
| 
         @@ -805,10 +861,12 @@ describe "text_area" do 
     | 
|
| 
       805 
861 
     | 
    
         
             
              #   text_area("CONTENT", nil).should == "<textarea>CONTENT</textarea>"
         
     | 
| 
       806 
862 
     | 
    
         
             
              # end
         
     | 
| 
       807 
863 
     | 
    
         | 
| 
       808 
     | 
    
         
            -
              it "should render a label when the label is passed in" do
         
     | 
| 
      
 864 
     | 
    
         
            +
              it "should render a label when the :label option is passed in" do
         
     | 
| 
       809 
865 
     | 
    
         
             
                result = @c.render :label
         
     | 
| 
       810 
866 
     | 
    
         
             
                result.should match(/<label.*>LABEL<\/label><textarea/)
         
     | 
| 
       811 
867 
     | 
    
         
             
                result.should_not match_tag(:textarea, :label => "LABEL")
         
     | 
| 
      
 868 
     | 
    
         
            +
             
     | 
| 
      
 869 
     | 
    
         
            +
                result.should have_selector("label[for=foo]:contains('LABEL')")
         
     | 
| 
       812 
870 
     | 
    
         
             
              end
         
     | 
| 
       813 
871 
     | 
    
         | 
| 
       814 
872 
     | 
    
         
             
              it "should be disabled if :disabled => true is passed in" do
         
     | 
| 
         @@ -830,6 +888,11 @@ describe "bound_text_area" do 
     | 
|
| 
       830 
888 
     | 
    
         
             
                r.should match_tag(:textarea, :id => 'fake_model_foo', :name => "fake_model[foo]")
         
     | 
| 
       831 
889 
     | 
    
         
             
                r.should =~ />\s*#{@obj.foo}\s*</
         
     | 
| 
       832 
890 
     | 
    
         
             
              end
         
     | 
| 
      
 891 
     | 
    
         
            +
              
         
     | 
| 
      
 892 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 893 
     | 
    
         
            +
                form = @c.render :label
         
     | 
| 
      
 894 
     | 
    
         
            +
                form.should have_selector("label[for='fake_model_foo']:contains('LABEL')")
         
     | 
| 
      
 895 
     | 
    
         
            +
              end
         
     | 
| 
       833 
896 
     | 
    
         
             
            end
         
     | 
| 
       834 
897 
     | 
    
         | 
| 
       835 
898 
     | 
    
         
             
            describe "select" do
         
     | 
| 
         @@ -842,10 +905,30 @@ describe "select" do 
     | 
|
| 
       842 
905 
     | 
    
         
             
                r = @c.render :blank
         
     | 
| 
       843 
906 
     | 
    
         
             
                r.should =~ /<option.*>\s*<\/option>/
         
     | 
| 
       844 
907 
     | 
    
         
             
              end
         
     | 
| 
      
 908 
     | 
    
         
            +
              
         
     | 
| 
      
 909 
     | 
    
         
            +
              it "should render the select tag proper attributes" do
         
     | 
| 
      
 910 
     | 
    
         
            +
                r = @c.render :basic
         
     | 
| 
      
 911 
     | 
    
         
            +
                r.should match_tag( :select, :name => "foo", :id => "foo")
         
     | 
| 
      
 912 
     | 
    
         
            +
                r.should have_selector("select[name=foo] option:contains('one')")
         
     | 
| 
      
 913 
     | 
    
         
            +
                r.should have_selector("select[name=foo] option:contains('two')")
         
     | 
| 
      
 914 
     | 
    
         
            +
                r.should have_selector("select[name=foo] option:contains('three')")
         
     | 
| 
      
 915 
     | 
    
         
            +
              end
         
     | 
| 
      
 916 
     | 
    
         
            +
              
         
     | 
| 
      
 917 
     | 
    
         
            +
              it "should allow selecting an option by passing in :selected => 'three'" do
         
     | 
| 
      
 918 
     | 
    
         
            +
                r = @c.render :selected
         
     | 
| 
      
 919 
     | 
    
         
            +
                r.should_not have_selector("select[name=foo] option[selected]:contains('one')")
         
     | 
| 
      
 920 
     | 
    
         
            +
                r.should_not have_selector("select[name=foo] option[selected]:contains('two')")
         
     | 
| 
      
 921 
     | 
    
         
            +
                r.should have_selector("select[name=foo] option[selected]:contains('three')")
         
     | 
| 
      
 922 
     | 
    
         
            +
              end
         
     | 
| 
       845 
923 
     | 
    
         | 
| 
       846 
924 
     | 
    
         
             
              it "should render the select tag with suffix '[]' to name when :multiple => true" do
         
     | 
| 
       847 
925 
     | 
    
         
             
                r = @c.render :multiple
         
     | 
| 
       848 
     | 
    
         
            -
                r.should match_tag( :select, :name => "foo[]" 
     | 
| 
      
 926 
     | 
    
         
            +
                r.should match_tag( :select, :name => "foo[]")
         
     | 
| 
      
 927 
     | 
    
         
            +
              end
         
     | 
| 
      
 928 
     | 
    
         
            +
              
         
     | 
| 
      
 929 
     | 
    
         
            +
              it "should render a label when the :label option is passed in" do
         
     | 
| 
      
 930 
     | 
    
         
            +
                result = @c.render :label
         
     | 
| 
      
 931 
     | 
    
         
            +
                result.should have_selector("label[for=foo]:contains('LABEL')")
         
     | 
| 
       849 
932 
     | 
    
         
             
              end
         
     | 
| 
       850 
933 
     | 
    
         
             
            end
         
     | 
| 
       851 
934 
     | 
    
         | 
| 
         @@ -890,6 +973,11 @@ describe "bound_select" do 
     | 
|
| 
       890 
973 
     | 
    
         
             
                r.should match_tag( :option, :value => '' )
         
     | 
| 
       891 
974 
     | 
    
         
             
                r.should =~ /<option.*>\s*<\/option>/
         
     | 
| 
       892 
975 
     | 
    
         
             
              end
         
     | 
| 
      
 976 
     | 
    
         
            +
              
         
     | 
| 
      
 977 
     | 
    
         
            +
              it "should render the label tag with the proper for= atttribute" do
         
     | 
| 
      
 978 
     | 
    
         
            +
                form = @c.render :label
         
     | 
| 
      
 979 
     | 
    
         
            +
                form.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
      
 980 
     | 
    
         
            +
              end
         
     | 
| 
       893 
981 
     | 
    
         | 
| 
       894 
982 
     | 
    
         
             
              # Not sure how this makes any sense
         
     | 
| 
       895 
983 
     | 
    
         
             
              # ---------------------------------
         
     | 
| 
         @@ -1071,12 +1159,12 @@ describe "file_field" do 
     | 
|
| 
       1071 
1159 
     | 
    
         | 
| 
       1072 
1160 
     | 
    
         
             
              it "should return a basic file field based on the values passed in" do
         
     | 
| 
       1073 
1161 
     | 
    
         
             
                r = @c.render :with_values
         
     | 
| 
       1074 
     | 
    
         
            -
                r.should have_selector("input[type=file][name=foo][value=bar]")
         
     | 
| 
      
 1162 
     | 
    
         
            +
                r.should have_selector("input[type=file][id=foo][name=foo][value=bar]")
         
     | 
| 
       1075 
1163 
     | 
    
         
             
              end
         
     | 
| 
       1076 
1164 
     | 
    
         | 
| 
       1077 
1165 
     | 
    
         
             
              it "should wrap the field in a label if the :label option is passed to the file" do
         
     | 
| 
       1078 
1166 
     | 
    
         
             
                r = @c.render :with_label
         
     | 
| 
       1079 
     | 
    
         
            -
                r.should have_selector("label:contains('LABEL') + input.file[type=file]")
         
     | 
| 
      
 1167 
     | 
    
         
            +
                r.should have_selector("label[for=foo]:contains('LABEL') + input.file[type=file]")
         
     | 
| 
       1080 
1168 
     | 
    
         
             
              end
         
     | 
| 
       1081 
1169 
     | 
    
         | 
| 
       1082 
1170 
     | 
    
         
             
              it "should be disabled if :disabled => true is passed in" do
         
     | 
| 
         @@ -1099,7 +1187,7 @@ describe "bound_file_field" do 
     | 
|
| 
       1099 
1187 
     | 
    
         | 
| 
       1100 
1188 
     | 
    
         
             
              it "should take a string object and return a useful file control" do
         
     | 
| 
       1101 
1189 
     | 
    
         
             
                r  = @c.render :takes_string
         
     | 
| 
       1102 
     | 
    
         
            -
                r.should have_selector("input[type=file][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
      
 1190 
     | 
    
         
            +
                r.should have_selector("input[type=file][id=fake_model_foo][name='fake_model[foo]'][value=foowee]")
         
     | 
| 
       1103 
1191 
     | 
    
         
             
              end
         
     | 
| 
       1104 
1192 
     | 
    
         | 
| 
       1105 
1193 
     | 
    
         
             
              it "should take additional attributes and use them" do
         
     | 
| 
         @@ -1109,7 +1197,7 @@ describe "bound_file_field" do 
     | 
|
| 
       1109 
1197 
     | 
    
         | 
| 
       1110 
1198 
     | 
    
         
             
              it "should wrap the file_field in a label if the :label option is passed in" do
         
     | 
| 
       1111 
1199 
     | 
    
         
             
                r = @c.render :with_label
         
     | 
| 
       1112 
     | 
    
         
            -
                r.should have_selector("label:contains('LABEL')")
         
     | 
| 
      
 1200 
     | 
    
         
            +
                r.should have_selector("label[for=fake_model_foo]:contains('LABEL')")
         
     | 
| 
       1113 
1201 
     | 
    
         
             
                r.should_not have_selector("input[label=LABEL]")
         
     | 
| 
       1114 
1202 
     | 
    
         
             
              end
         
     | 
| 
       1115 
1203 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1278,4 +1366,4 @@ describe "escaping values" do 
     | 
|
| 
       1278 
1366 
     | 
    
         
             
                r.should =~ /&"<>/
         
     | 
| 
       1279 
1367 
     | 
    
         
             
              end
         
     | 
| 
       1280 
1368 
     | 
    
         | 
| 
       1281 
     | 
    
         
            -
            end
         
     | 
| 
      
 1369 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: merb-helpers
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.9
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Michael D. Ivey
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2009- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2009-02-12 00:00:00 -08:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
         @@ -20,7 +20,7 @@ dependencies: 
     | 
|
| 
       20 
20 
     | 
    
         
             
                requirements: 
         
     | 
| 
       21 
21 
     | 
    
         
             
                - - ">="
         
     | 
| 
       22 
22 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       23 
     | 
    
         
            -
                    version: 1.0. 
     | 
| 
      
 23 
     | 
    
         
            +
                    version: 1.0.9
         
     | 
| 
       24 
24 
     | 
    
         
             
                version: 
         
     | 
| 
       25 
25 
     | 
    
         
             
            description: Helper support for Merb
         
     | 
| 
       26 
26 
     | 
    
         
             
            email: ivey@gweezlebur.com
         
     | 
| 
         @@ -104,6 +104,7 @@ files: 
     | 
|
| 
       104 
104 
     | 
    
         
             
            - spec/fixture/app/views
         
     | 
| 
       105 
105 
     | 
    
         
             
            - spec/fixture/app/views/bound_check_box_specs
         
     | 
| 
       106 
106 
     | 
    
         
             
            - spec/fixture/app/views/bound_check_box_specs/basic.html.erb
         
     | 
| 
      
 107 
     | 
    
         
            +
            - spec/fixture/app/views/bound_check_box_specs/basic_unchecked.html.erb
         
     | 
| 
       107 
108 
     | 
    
         
             
            - spec/fixture/app/views/bound_check_box_specs/checked.html.erb
         
     | 
| 
       108 
109 
     | 
    
         
             
            - spec/fixture/app/views/bound_check_box_specs/errors.html.erb
         
     | 
| 
       109 
110 
     | 
    
         
             
            - spec/fixture/app/views/bound_check_box_specs/label.html.erb
         
     | 
| 
         @@ -136,12 +137,14 @@ files: 
     | 
|
| 
       136 
137 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs
         
     | 
| 
       137 
138 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/basic.html.erb
         
     | 
| 
       138 
139 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/blank.html.erb
         
     | 
| 
      
 140 
     | 
    
         
            +
            - spec/fixture/app/views/bound_select_specs/label.html.erb
         
     | 
| 
       139 
141 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/multiple.html.erb
         
     | 
| 
       140 
142 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/prompt.html.erb
         
     | 
| 
       141 
143 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/with_options.html.erb
         
     | 
| 
       142 
144 
     | 
    
         
             
            - spec/fixture/app/views/bound_select_specs/with_options_with_blank.html.erb
         
     | 
| 
       143 
145 
     | 
    
         
             
            - spec/fixture/app/views/bound_text_area_specs
         
     | 
| 
       144 
146 
     | 
    
         
             
            - spec/fixture/app/views/bound_text_area_specs/basic.html.erb
         
     | 
| 
      
 147 
     | 
    
         
            +
            - spec/fixture/app/views/bound_text_area_specs/label.html.erb
         
     | 
| 
       145 
148 
     | 
    
         
             
            - spec/fixture/app/views/bound_text_field_specs
         
     | 
| 
       146 
149 
     | 
    
         
             
            - spec/fixture/app/views/bound_text_field_specs/basic.html.erb
         
     | 
| 
       147 
150 
     | 
    
         
             
            - spec/fixture/app/views/button_specs
         
     | 
| 
         @@ -233,11 +236,14 @@ files: 
     | 
|
| 
       233 
236 
     | 
    
         
             
            - spec/fixture/app/views/password_field_specs/disabled.html.erb
         
     | 
| 
       234 
237 
     | 
    
         
             
            - spec/fixture/app/views/radio_button_specs
         
     | 
| 
       235 
238 
     | 
    
         
             
            - spec/fixture/app/views/radio_button_specs/basic.html.erb
         
     | 
| 
      
 239 
     | 
    
         
            +
            - spec/fixture/app/views/radio_button_specs/checked.html.erb
         
     | 
| 
       236 
240 
     | 
    
         
             
            - spec/fixture/app/views/radio_button_specs/disabled.html.erb
         
     | 
| 
       237 
241 
     | 
    
         
             
            - spec/fixture/app/views/radio_button_specs/label.html.erb
         
     | 
| 
      
 242 
     | 
    
         
            +
            - spec/fixture/app/views/radio_button_specs/unchecked.html.erb
         
     | 
| 
       238 
243 
     | 
    
         
             
            - spec/fixture/app/views/radio_group_specs
         
     | 
| 
       239 
244 
     | 
    
         
             
            - spec/fixture/app/views/radio_group_specs/attributes.html.erb
         
     | 
| 
       240 
245 
     | 
    
         
             
            - spec/fixture/app/views/radio_group_specs/basic.html.erb
         
     | 
| 
      
 246 
     | 
    
         
            +
            - spec/fixture/app/views/radio_group_specs/checked.html.erb
         
     | 
| 
       241 
247 
     | 
    
         
             
            - spec/fixture/app/views/radio_group_specs/hash.html.erb
         
     | 
| 
       242 
248 
     | 
    
         
             
            - spec/fixture/app/views/radio_group_specs/specific_attributes.html.erb
         
     | 
| 
       243 
249 
     | 
    
         
             
            - spec/fixture/app/views/relative_date_span_specs
         
     | 
| 
         @@ -250,8 +256,10 @@ files: 
     | 
|
| 
       250 
256 
     | 
    
         
             
            - spec/fixture/app/views/relative_date_specs/relative_tomorrow.html.erb
         
     | 
| 
       251 
257 
     | 
    
         
             
            - spec/fixture/app/views/relative_date_specs/relative_yesterday.html.erb
         
     | 
| 
       252 
258 
     | 
    
         
             
            - spec/fixture/app/views/select_specs
         
     | 
| 
      
 259 
     | 
    
         
            +
            - spec/fixture/app/views/select_specs/basic.html.erb
         
     | 
| 
       253 
260 
     | 
    
         
             
            - spec/fixture/app/views/select_specs/blank.html.erb
         
     | 
| 
       254 
261 
     | 
    
         
             
            - spec/fixture/app/views/select_specs/multiple.html.erb
         
     | 
| 
      
 262 
     | 
    
         
            +
            - spec/fixture/app/views/select_specs/selected.html.erb
         
     | 
| 
       255 
263 
     | 
    
         
             
            - spec/fixture/app/views/submit_specs
         
     | 
| 
       256 
264 
     | 
    
         
             
            - spec/fixture/app/views/submit_specs/disabled_submit.html.erb
         
     | 
| 
       257 
265 
     | 
    
         
             
            - spec/fixture/app/views/submit_specs/submit_with_label.html.erb
         
     | 
| 
         @@ -271,6 +279,7 @@ files: 
     | 
|
| 
       271 
279 
     | 
    
         
             
            - spec/fixture/app/views/text_field_specs/class.html.erb
         
     | 
| 
       272 
280 
     | 
    
         
             
            - spec/fixture/app/views/text_field_specs/disabled.html.erb
         
     | 
| 
       273 
281 
     | 
    
         
             
            - spec/fixture/app/views/text_field_specs/label.html.erb
         
     | 
| 
      
 282 
     | 
    
         
            +
            - spec/fixture/app/views/text_field_specs/symbolized_name.html.erb
         
     | 
| 
       274 
283 
     | 
    
         
             
            - spec/fixture/config
         
     | 
| 
       275 
284 
     | 
    
         
             
            - spec/fixture/config/environments
         
     | 
| 
       276 
285 
     | 
    
         
             
            - spec/fixture/config/environments/development.rb
         
     |