@@ -437,18 +437,23 @@ def build_form(options = {}, form_object = Post.new, &block)
437
437
end
438
438
end
439
439
440
- {
441
- "input :title, :as => :string" => /id="post_title"/ ,
442
- "input :title, :as => :text" => /id="post_title"/ ,
443
- "input :created_at, :as => :time_select" => /id="post_created_at_2i"/ ,
444
- "input :created_at, :as => :datetime_select" => /id="post_created_at_2i"/ ,
445
- "input :created_at, :as => :date_select" => /id="post_created_at_2i"/ ,
440
+ { # Testing that the same input can be used multiple times
441
+ "f.input :title, :as => :string" => /id="post_title"/ ,
442
+ "f.input :title, :as => :text" => /id="post_title"/ ,
443
+ "f.input :created_at, :as => :time_select" => /id="post_created_at_2i"/ ,
444
+ "f.input :created_at, :as => :datetime_select" => /id="post_created_at_2i"/ ,
445
+ "f.input :created_at, :as => :date_select" => /id="post_created_at_2i"/ ,
446
+ # Testing that return values don't screw up the form
447
+ "f.input :title; nil" => /id="post_title"/ ,
448
+ "f.input :title; []" => /id="post_title"/ ,
449
+ "[:title].each{ |r| f.input r }" => /id="post_title"/ ,
450
+ "[:title].map { |r| f.input r }" => /id="post_title"/ ,
446
451
} . each do |source , regex |
447
- it "should properly buffer #{ source } " do
452
+ it "should properly buffer ` #{ source } ` " do
448
453
body = build_form do |f |
449
454
f . inputs do
450
- f . instance_eval ( source )
451
- f . instance_eval ( source )
455
+ eval source
456
+ eval source
452
457
end
453
458
end
454
459
body . scan ( regex ) . size . should == 2
@@ -470,19 +475,4 @@ def build_form(options = {}, form_object = Post.new, &block)
470
475
end
471
476
end
472
477
473
- describe "inputs block with nil return value" do
474
- let :body do
475
- build_form do |f |
476
- f . inputs do
477
- f . input :title
478
- nil
479
- end
480
- end
481
- end
482
-
483
- it "
5087
;should generate a single input field" do
484
- body . should have_tag ( "input" , :attributes => { :type => "text" , :name => "post[title]" } )
485
- end
486
- end
487
-
488
478
end
0 commit comments