padrino-helpers 0.12.0 → 0.12.1
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.
- checksums.yaml +4 -4
- data/lib/padrino-helpers.rb +4 -1
- data/lib/padrino-helpers/asset_tag_helpers.rb +17 -14
- data/lib/padrino-helpers/breadcrumb_helpers.rb +6 -6
- data/lib/padrino-helpers/form_builder/abstract_form_builder.rb +119 -163
- data/lib/padrino-helpers/form_builder/deprecated_builder_methods.rb +92 -0
- data/lib/padrino-helpers/form_helpers.rb +66 -347
- data/lib/padrino-helpers/form_helpers/errors.rb +138 -0
- data/lib/padrino-helpers/form_helpers/options.rb +97 -0
- data/lib/padrino-helpers/form_helpers/security.rb +70 -0
- data/lib/padrino-helpers/output_helpers.rb +1 -1
- data/lib/padrino-helpers/output_helpers/abstract_handler.rb +1 -1
- data/lib/padrino-helpers/render_helpers.rb +10 -9
- data/lib/padrino-helpers/tag_helpers.rb +2 -1
- data/lib/padrino/rendering.rb +378 -0
- data/lib/padrino/rendering/extensions/erubis.rb +74 -0
- data/lib/padrino/rendering/extensions/haml.rb +29 -0
- data/lib/padrino/rendering/extensions/slim.rb +21 -0
- data/padrino-helpers.gemspec +2 -1
- data/test/fixtures/apps/.components +6 -0
- data/test/fixtures/apps/.gitignore +7 -0
- data/test/fixtures/apps/render.rb +25 -0
- data/test/fixtures/apps/views/article/comment/show.slim +1 -0
- data/test/fixtures/apps/views/blog/post.erb +1 -0
- data/test/fixtures/apps/views/layouts/specific.erb +1 -0
- data/test/fixtures/apps/views/test/post.erb +1 -0
- data/test/fixtures/layouts/layout.erb +1 -0
- data/test/fixtures/markup_app/app.rb +0 -1
- data/test/fixtures/render_app/app.rb +25 -1
- data/test/fixtures/render_app/views/_unsafe.html.builder +2 -0
- data/test/fixtures/render_app/views/_unsafe_object.html.builder +2 -0
- data/test/fixtures/render_app/views/ruby_block_capture_erb.erb +1 -0
- data/test/fixtures/render_app/views/ruby_block_capture_haml.haml +1 -0
- data/test/fixtures/render_app/views/ruby_block_capture_slim.slim +1 -0
- data/test/helper.rb +65 -1
- data/test/test_asset_tag_helpers.rb +83 -79
- data/test/test_breadcrumb_helpers.rb +20 -20
- data/test/test_form_builder.rb +196 -196
- data/test/test_form_helpers.rb +163 -163
- data/test/test_format_helpers.rb +65 -65
- data/test/test_locale.rb +1 -1
- data/test/test_number_helpers.rb +10 -11
- data/test/test_output_helpers.rb +28 -28
- data/test/test_render_helpers.rb +89 -35
- data/test/test_rendering.rb +683 -0
- data/test/test_rendering_extensions.rb +14 -0
- data/test/test_tag_helpers.rb +23 -23
- metadata +57 -5
| @@ -9,31 +9,31 @@ describe "BreadcrumbHelpers" do | |
| 9 9 |  | 
| 10 10 | 
             
              before(:each) { breadcrumb.reset! }
         | 
| 11 11 |  | 
| 12 | 
            -
               | 
| 13 | 
            -
                should  | 
| 12 | 
            +
              describe "for Breadcrumbs#breadcrumbs method" do
         | 
| 13 | 
            +
                it 'should support breadcrumbs which is Padrino::Helpers::Breadcrumbs instance.' do
         | 
| 14 14 | 
             
                  breadcrumb.add "foo", "/foo", "foo link"
         | 
| 15 15 | 
             
                  assert_has_tag(:a, :content => "Foo link", :href => "/foo") { breadcrumbs(breadcrumb) }
         | 
| 16 16 | 
             
                end
         | 
| 17 17 |  | 
| 18 | 
            -
                should  | 
| 18 | 
            +
                it 'should support bootstrap' do
         | 
| 19 19 | 
             
                  breadcrumb.add "foo", "/foo", "foo link"
         | 
| 20 20 | 
             
                  assert_has_tag(:span, :content => "/", :class => "divider") { breadcrumbs(breadcrumb, true) }
         | 
| 21 21 | 
             
                end
         | 
| 22 22 |  | 
| 23 | 
            -
                should  | 
| 23 | 
            +
                it 'should support active' do
         | 
| 24 24 | 
             
                  breadcrumb.add "foo", "/foo", "foo link"
         | 
| 25 25 | 
             
                  assert_has_tag(:li, :class => "custom-active") { breadcrumbs(breadcrumb, nil, "custom-active") }
         | 
| 26 26 | 
             
                end
         | 
| 27 27 |  | 
| 28 | 
            -
                should  | 
| 28 | 
            +
                it 'should support options' do
         | 
| 29 29 | 
             
                  assert_has_tag(:ul, :class => "breadcrumbs-class breadcrumb", :id => "breadcrumbs-id") do
         | 
| 30 30 | 
             
                    breadcrumbs(breadcrumb, nil, nil, :id => "breadcrumbs-id", :class => "breadcrumbs-class")
         | 
| 31 31 | 
             
                  end
         | 
| 32 32 | 
             
                end
         | 
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 | 
            -
               | 
| 36 | 
            -
                should  | 
| 35 | 
            +
              describe "for #add method" do
         | 
| 36 | 
            +
                it 'should support name of string and symbol type' do
         | 
| 37 37 | 
             
                  breadcrumb.add "foo", "/foo", "Foo Link"
         | 
| 38 38 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link"
         | 
| 39 39 |  | 
| @@ -42,17 +42,17 @@ describe "BreadcrumbHelpers" do | |
| 42 42 | 
             
                  assert_has_tag(:a, :content => "Bar link", :href => "/bar") { actual_html }
         | 
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 | 
            -
                should  | 
| 45 | 
            +
                it 'should support url' do
         | 
| 46 46 | 
             
                  breadcrumb.add :foo, "/foo", "Foo Link"
         | 
| 47 47 | 
             
                  assert_has_tag(:a, :href => "/foo") { breadcrumbs(breadcrumb) }
         | 
| 48 48 | 
             
                end
         | 
| 49 49 |  | 
| 50 | 
            -
                should  | 
| 50 | 
            +
                it 'should support caption' do
         | 
| 51 51 | 
             
                  breadcrumb.add :foo, "/foo", "Foo Link"
         | 
| 52 52 | 
             
                  assert_has_tag(:a, :content => "Foo link") { breadcrumbs(breadcrumb) }
         | 
| 53 53 | 
             
                end
         | 
| 54 54 |  | 
| 55 | 
            -
                should  | 
| 55 | 
            +
                it 'should support options' do
         | 
| 56 56 | 
             
                  breadcrumb.add :foo, "/foo", "Foo Link", :id => "foo-id", :class => "foo-class"
         | 
| 57 57 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link", :id => "bar-id", :class => "bar-class"
         | 
| 58 58 |  | 
| @@ -62,8 +62,8 @@ describe "BreadcrumbHelpers" do | |
| 62 62 | 
             
                end
         | 
| 63 63 | 
             
              end
         | 
| 64 64 |  | 
| 65 | 
            -
               | 
| 66 | 
            -
                should  | 
| 65 | 
            +
              describe "for #del method" do
         | 
| 66 | 
            +
                it 'should support name of string type' do
         | 
| 67 67 | 
             
                  breadcrumb.add "foo", "/foo", "Foo Link"
         | 
| 68 68 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link"
         | 
| 69 69 |  | 
| @@ -75,7 +75,7 @@ describe "BreadcrumbHelpers" do | |
| 75 75 | 
             
                  assert_has_no_tag(:a, :content => "Bar link", :href => "/bar") { actual_html }
         | 
| 76 76 | 
             
                end
         | 
| 77 77 |  | 
| 78 | 
            -
                should  | 
| 78 | 
            +
                it 'should support name of symbol type' do
         | 
| 79 79 | 
             
                  breadcrumb.add "foo", "/foo", "Foo Link"
         | 
| 80 80 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link"
         | 
| 81 81 |  | 
| @@ -88,13 +88,13 @@ describe "BreadcrumbHelpers" do | |
| 88 88 | 
             
                end
         | 
| 89 89 | 
             
              end
         | 
| 90 90 |  | 
| 91 | 
            -
               | 
| 92 | 
            -
                should  | 
| 91 | 
            +
              describe "for #set_home method" do
         | 
| 92 | 
            +
                it 'should modified home item elements.' do
         | 
| 93 93 | 
             
                  breadcrumb.set_home("/custom", "Custom Home Page")
         | 
| 94 94 | 
             
                  assert_has_tag(:a, :content => "Custom home page", :href => "/custom") { breadcrumbs(breadcrumb) }
         | 
| 95 95 | 
             
                end
         | 
| 96 96 |  | 
| 97 | 
            -
                should  | 
| 97 | 
            +
                it 'should support options' do
         | 
| 98 98 | 
             
                  breadcrumb.set_home("/custom", "Custom Home Page", :id => "home-id")
         | 
| 99 99 |  | 
| 100 100 | 
             
                  actual_html = breadcrumbs(breadcrumb)
         | 
| @@ -103,8 +103,8 @@ describe "BreadcrumbHelpers" do | |
| 103 103 | 
             
                end
         | 
| 104 104 | 
             
              end
         | 
| 105 105 |  | 
| 106 | 
            -
               | 
| 107 | 
            -
                should  | 
| 106 | 
            +
              describe "for #reset method" do
         | 
| 107 | 
            +
                it 'should be #items which contains only home item.' do
         | 
| 108 108 | 
             
                  breadcrumb.set_home("/custom", "Custom Home Page")
         | 
| 109 109 | 
             
                  breadcrumb.add "foo", "/foo", "Foo Link"
         | 
| 110 110 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link"
         | 
| @@ -118,8 +118,8 @@ describe "BreadcrumbHelpers" do | |
| 118 118 | 
             
                end
         | 
| 119 119 | 
             
              end
         | 
| 120 120 |  | 
| 121 | 
            -
               | 
| 122 | 
            -
                should  | 
| 121 | 
            +
              describe "for #reset! method" do
         | 
| 122 | 
            +
                it 'should be #items which contains only default home item.' do
         | 
| 123 123 | 
             
                  breadcrumb.add "foo", "/foo", "foo link"
         | 
| 124 124 | 
             
                  breadcrumb.add :bar, "/bar", "Bar Link"
         | 
| 125 125 |  | 
    
        data/test/test_form_builder.rb
    CHANGED
    
    | @@ -28,39 +28,39 @@ describe "FormBuilder" do | |
| 28 28 | 
             
                Padrino::Helpers::FormBuilder::StandardFormBuilder.new(self, object)
         | 
| 29 29 | 
             
              end
         | 
| 30 30 |  | 
| 31 | 
            -
               | 
| 32 | 
            -
                should  | 
| 31 | 
            +
              describe 'for #form_for method' do
         | 
| 32 | 
            +
                it 'should display correct form html' do
         | 
| 33 33 | 
             
                  actual_html = form_for(@user, '/register', :id => 'register', :"accept-charset" => "UTF-8", :method => 'post') { "Demo" }
         | 
| 34 34 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :id => 'register', :method => 'post', :content => "Demo") { actual_html }
         | 
| 35 35 | 
             
                  assert_has_tag('form input[type=hidden]', :name => '_method', :count => 0) { actual_html } # no method action field
         | 
| 36 36 | 
             
                end
         | 
| 37 37 |  | 
| 38 | 
            -
                should  | 
| 38 | 
            +
                it 'should display correct form html with fake object' do
         | 
| 39 39 | 
             
                  actual_html = form_for(:markup_user, '/register', :id => 'register', :"accept-charset" => "UTF-8", :method => 'post') { |f| f.text_field :username }
         | 
| 40 40 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :id => 'register', :method => 'post') { actual_html }
         | 
| 41 41 | 
             
                  assert_has_tag('form input', :type => 'text', :name => 'markup_user[username]') { actual_html }
         | 
| 42 42 | 
             
                  assert_has_tag('form input[type=hidden]', :name => '_method', :count => 0) { actual_html } # no method action field
         | 
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 | 
            -
                should  | 
| 45 | 
            +
                it 'should display correct form html for namespaced object' do
         | 
| 46 46 | 
             
                  actual_html = form_for(Outer::UserAccount.new, '/register', :"accept-charset" => "UTF-8", :method => 'post') { |f| f.text_field :username }
         | 
| 47 47 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :method => 'post') { actual_html }
         | 
| 48 48 | 
             
                  assert_has_tag('form input', :type => 'text', :name => 'outer_user_account[username]') { actual_html }
         | 
| 49 49 | 
             
                end
         | 
| 50 50 |  | 
| 51 | 
            -
                should  | 
| 51 | 
            +
                it 'should display form specifying default builder setting' do
         | 
| 52 52 | 
             
                  self.expects(:settings).returns(stub(:default_builder => 'FakeFormBuilder', :protect_from_csrf => false)).at_least_once
         | 
| 53 53 | 
             
                  actual_html = form_for(@user, '/register', :id => 'register', :"accept-charset" => "UTF-8", :method => 'post') { |f| f.foo_field }
         | 
| 54 54 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :method => 'post') { actual_html }
         | 
| 55 55 | 
             
                  assert_has_tag('span', :content => "bar") { actual_html }
         | 
| 56 56 | 
             
                end
         | 
| 57 57 |  | 
| 58 | 
            -
                should  | 
| 58 | 
            +
                it 'should display correct form html with remote option' do
         | 
| 59 59 | 
             
                  actual_html = form_for(@user, '/update', :"accept-charset" => "UTF-8", :remote => true) { "Demo" }
         | 
| 60 60 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/update', :method => 'post', "data-remote" => 'true') { actual_html }
         | 
| 61 61 | 
             
                end
         | 
| 62 62 |  | 
| 63 | 
            -
                should  | 
| 63 | 
            +
                it 'should display correct form html with namespace option' do
         | 
| 64 64 | 
             
                  actual_html = form_for(@user, '/update', :namespace => 'foo') do |f|
         | 
| 65 65 | 
             
                    f.text_field(:first_name) << f.fields_for(:role_types) { |role| role.text_field(:name) }
         | 
| 66 66 | 
             
                  end
         | 
| @@ -70,7 +70,7 @@ describe "FormBuilder" do | |
| 70 70 | 
             
                  assert_has_tag(:input, :type => 'text', :name => 'user[role_types_attributes][0][name]', :id => 'foo_user_role_types_attributes_0_name') { actual_html }
         | 
| 71 71 | 
             
                end
         | 
| 72 72 |  | 
| 73 | 
            -
                should  | 
| 73 | 
            +
                it 'should display correct form html with :as option' do
         | 
| 74 74 | 
             
                  actual_html = form_for(@user, '/update', :as => :customer) do |f|
         | 
| 75 75 | 
             
                    f.text_field(:first_name) << f.fields_for(:role_types) { |role| role.text_field(:name) }
         | 
| 76 76 | 
             
                  end
         | 
| @@ -80,44 +80,44 @@ describe "FormBuilder" do | |
| 80 80 | 
             
                  assert_has_tag(:input, :type => 'text', :name => 'customer[role_types_attributes][0][name]', :id => 'customer_role_types_attributes_0_name') { actual_html }
         | 
| 81 81 | 
             
                end
         | 
| 82 82 |  | 
| 83 | 
            -
                should  | 
| 83 | 
            +
                it 'should display correct form html with remote option and method put' do
         | 
| 84 84 | 
             
                  actual_html = form_for(@user, '/update', :"accept-charset" => "UTF-8", :remote => true, :method => 'put') { "Demo" }
         | 
| 85 85 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :method => 'post', "data-remote" => 'true') { actual_html }
         | 
| 86 86 | 
             
                  assert_has_tag('form input', :type => 'hidden', :name => "_method", :value => 'put') { actual_html }
         | 
| 87 87 | 
             
                end
         | 
| 88 88 |  | 
| 89 | 
            -
                should  | 
| 89 | 
            +
                it 'should display correct form html with method :put' do
         | 
| 90 90 | 
             
                  actual_html = form_for(@user, '/update', :"accept-charset" => "UTF-8", :method => 'put') { "Demo" }
         | 
| 91 91 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/update', :method => 'post') { actual_html }
         | 
| 92 92 | 
             
                  assert_has_tag('form input', :type => 'hidden', :name => "_method", :value => 'put') { actual_html }
         | 
| 93 93 | 
             
                end
         | 
| 94 94 |  | 
| 95 | 
            -
                should  | 
| 95 | 
            +
                it 'should display correct form html with method :delete' do
         | 
| 96 96 | 
             
                  actual_html = form_for(@user, '/destroy', :"accept-charset" => "UTF-8", :method => 'delete') { "Demo" }
         | 
| 97 97 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/destroy', :method => 'post') { actual_html }
         | 
| 98 98 | 
             
                  assert_has_tag('form input', :type => 'hidden', :name => "_method", :value => 'delete') { actual_html }
         | 
| 99 99 | 
             
                end
         | 
| 100 100 |  | 
| 101 | 
            -
                should  | 
| 101 | 
            +
                it 'should display correct form html with multipart' do
         | 
| 102 102 | 
             
                  actual_html = form_for(@user, '/register', :"accept-charset" => "UTF-8", :multipart => true) { "Demo" }
         | 
| 103 103 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :enctype => "multipart/form-data") { actual_html }
         | 
| 104 104 | 
             
                end
         | 
| 105 105 |  | 
| 106 | 
            -
                should  | 
| 106 | 
            +
                it 'should support changing form builder type' do
         | 
| 107 107 | 
             
                  form_html = proc { form_for(@user, '/register', :"accept-charset" => "UTF-8", :builder => "AbstractFormBuilder") { |f| f.text_field_block(:name) } }
         | 
| 108 108 | 
             
                  assert_raises(NoMethodError) { form_html.call }
         | 
| 109 109 | 
             
                end
         | 
| 110 110 |  | 
| 111 | 
            -
                should  | 
| 111 | 
            +
                it 'should support using default standard builder' do
         | 
| 112 112 | 
             
                  actual_html = form_for(@user, '/register') { |f| f.text_field_block(:name) }
         | 
| 113 113 | 
             
                  assert_has_tag('form p input[type=text]') { actual_html }
         | 
| 114 114 | 
             
                end
         | 
| 115 115 |  | 
| 116 | 
            -
                should  | 
| 116 | 
            +
                it 'should display fail for form with nil object' do
         | 
| 117 117 | 
             
                  assert_raises(RuntimeError) { form_for(@not_real, '/register', :id => 'register', :method => 'post') { "Demo" } }
         | 
| 118 118 | 
             
                end
         | 
| 119 119 |  | 
| 120 | 
            -
                should  | 
| 120 | 
            +
                it 'should display correct form in haml' do
         | 
| 121 121 | 
             
                  visit '/haml/form_for'
         | 
| 122 122 | 
             
                  assert_have_selector :form, :action => '/demo', :id => 'demo'
         | 
| 123 123 | 
             
                  assert_have_selector :form, :action => '/another_demo', :id => 'demo2', :method => 'get'
         | 
| @@ -125,7 +125,7 @@ describe "FormBuilder" do | |
| 125 125 | 
             
                  assert_have_selector :input, :name => 'authenticity_token'
         | 
| 126 126 | 
             
                end
         | 
| 127 127 |  | 
| 128 | 
            -
                should  | 
| 128 | 
            +
                it 'should display correct form in erb' do
         | 
| 129 129 | 
             
                  visit '/erb/form_for'
         | 
| 130 130 | 
             
                  assert_have_selector :form, :action => '/demo', :id => 'demo'
         | 
| 131 131 | 
             
                  assert_have_selector :form, :action => '/another_demo', :id => 'demo2', :method => 'get'
         | 
| @@ -133,7 +133,7 @@ describe "FormBuilder" do | |
| 133 133 | 
             
                  assert_have_selector :input, :name => 'authenticity_token'
         | 
| 134 134 | 
             
                end
         | 
| 135 135 |  | 
| 136 | 
            -
                should  | 
| 136 | 
            +
                it 'should display correct form in slim' do
         | 
| 137 137 | 
             
                  visit '/slim/form_for'
         | 
| 138 138 | 
             
                  assert_have_selector :form, :action => '/demo', :id => 'demo'
         | 
| 139 139 | 
             
                  assert_have_selector :form, :action => '/another_demo', :id => 'demo2', :method => 'get'
         | 
| @@ -141,33 +141,33 @@ describe "FormBuilder" do | |
| 141 141 | 
             
                  assert_have_selector :input, :name => 'authenticity_token'
         | 
| 142 142 | 
             
                end
         | 
| 143 143 |  | 
| 144 | 
            -
                should  | 
| 144 | 
            +
                it 'should have a class of "invalid" for fields with errors' do
         | 
| 145 145 | 
             
                  actual_html = form_for(@user, '/register') {|f| f.text_field(:email) }
         | 
| 146 146 | 
             
                  assert_has_tag(:input, :type => 'text', :name => 'user[email]', :id => 'user_email', :class => 'invalid') {actual_html }
         | 
| 147 147 | 
             
                end
         | 
| 148 148 |  | 
| 149 | 
            -
                should  | 
| 149 | 
            +
                it 'should not have a class of "invalid" for fields with no errors' do
         | 
| 150 150 | 
             
                  actual_html = form_for(@user, '/register') {|f| f.text_field(:first_name) }
         | 
| 151 151 | 
             
                  assert_has_no_tag(:input, :type => 'text', :name => 'user[first_name]', :id => 'user_first_name', :class => 'invalid') {actual_html }
         | 
| 152 152 | 
             
                end
         | 
| 153 153 | 
             
              end
         | 
| 154 154 |  | 
| 155 | 
            -
               | 
| 156 | 
            -
                should  | 
| 155 | 
            +
              describe 'for #fields_for method' do
         | 
| 156 | 
            +
                it 'should display correct fields html' do
         | 
| 157 157 | 
             
                  actual_html = fields_for(@user) { |f| f.text_field(:first_name) }
         | 
| 158 158 | 
             
                  assert_has_tag(:input, :type => 'text', :name => 'user[first_name]', :id => 'user_first_name') { actual_html }
         | 
| 159 159 | 
             
                end
         | 
| 160 160 |  | 
| 161 | 
            -
                should  | 
| 161 | 
            +
                it 'should display correct fields html with symbol object' do
         | 
| 162 162 | 
             
                  actual_html = fields_for(:markup_user) { |f| f.text_field(:first_name) }
         | 
| 163 163 | 
             
                  assert_has_tag(:input, :type => 'text', :name => 'markup_user[first_name]', :id => 'markup_user_first_name') { actual_html }
         | 
| 164 164 | 
             
                end
         | 
| 165 165 |  | 
| 166 | 
            -
                should  | 
| 166 | 
            +
                it 'should display fail for nil object' do
         | 
| 167 167 | 
             
                  assert_raises(RuntimeError) { fields_for(@not_real) { |f| "Demo" } }
         | 
| 168 168 | 
             
                end
         | 
| 169 169 |  | 
| 170 | 
            -
                should  | 
| 170 | 
            +
                it 'should display correct simple fields in haml' do
         | 
| 171 171 | 
             
                  visit '/haml/fields_for'
         | 
| 172 172 | 
             
                  assert_have_selector :form, :action => '/demo1', :id => 'demo-fields-for'
         | 
| 173 173 | 
             
                  assert_have_selector '#demo-fields-for input', :type => 'text', :name => 'markup_user[gender]', :value => 'male'
         | 
| @@ -175,7 +175,7 @@ describe "FormBuilder" do | |
| 175 175 | 
             
                  assert_have_selector '#demo-fields-for input', :type => 'checkbox', :name => 'permission[can_delete]'
         | 
| 176 176 | 
             
                end
         | 
| 177 177 |  | 
| 178 | 
            -
                should  | 
| 178 | 
            +
                it 'should display correct simple fields in erb' do
         | 
| 179 179 | 
             
                  visit '/erb/fields_for'
         | 
| 180 180 | 
             
                  assert_have_selector :form, :action => '/demo1', :id => 'demo-fields-for'
         | 
| 181 181 | 
             
                  assert_have_selector '#demo-fields-for input', :type => 'text', :name => 'markup_user[gender]', :value => 'male'
         | 
| @@ -183,7 +183,7 @@ describe "FormBuilder" do | |
| 183 183 | 
             
                  assert_have_selector '#demo-fields-for input', :type => 'checkbox', :name => 'permission[can_delete]'
         | 
| 184 184 | 
             
                end
         | 
| 185 185 |  | 
| 186 | 
            -
                should  | 
| 186 | 
            +
                it 'should display correct simple fields in slim' do
         | 
| 187 187 | 
             
                  visit '/slim/fields_for'
         | 
| 188 188 | 
             
                  assert_have_selector :form, :action => '/demo1', :id => 'demo-fields-for'
         | 
| 189 189 | 
             
                  assert_have_selector '#demo-fields-for input', :type => 'text', :name => 'markup_user[gender]', :value => 'male'
         | 
| @@ -196,13 +196,13 @@ describe "FormBuilder" do | |
| 196 196 | 
             
              # AbstractFormBuilder
         | 
| 197 197 | 
             
              # ===========================
         | 
| 198 198 |  | 
| 199 | 
            -
               | 
| 200 | 
            -
                should  | 
| 199 | 
            +
              describe 'for #error_messages method' do
         | 
| 200 | 
            +
                it 'should display correct form html with no record' do
         | 
| 201 201 | 
             
                  actual_html = standard_builder(@user_none).error_messages(:header_message => "Demo form cannot be saved")
         | 
| 202 202 | 
             
                  assert actual_html.blank?
         | 
| 203 203 | 
             
                end
         | 
| 204 204 |  | 
| 205 | 
            -
                should  | 
| 205 | 
            +
                it 'should display correct form html with valid record' do
         | 
| 206 206 | 
             
                  actual_html = standard_builder.error_messages(:header_message => "Demo form cannot be saved", :style => "foo:bar", :class => "mine")
         | 
| 207 207 | 
             
                  assert_has_tag('#field-errors h2', :content => "Demo form cannot be saved") { actual_html }
         | 
| 208 208 | 
             
                  assert_has_tag('#field-errors ul li', :content => "B must be valid") { actual_html }
         | 
| @@ -211,7 +211,7 @@ describe "FormBuilder" do | |
| 211 211 | 
             
                  assert_has_tag('#field-errors', :class => "mine") { actual_html }
         | 
| 212 212 | 
             
                end
         | 
| 213 213 |  | 
| 214 | 
            -
                should  | 
| 214 | 
            +
                it 'should display correct form in haml' do
         | 
| 215 215 | 
             
                  visit '/haml/form_for'
         | 
| 216 216 | 
             
                  assert_have_selector '#demo div.field-errors h2',     :content => "custom MarkupUser cannot be saved!"
         | 
| 217 217 | 
             
                  assert_have_selector '#demo div.field-errors ul li',  :content => "Fake must be valid"
         | 
| @@ -224,7 +224,7 @@ describe "FormBuilder" do | |
| 224 224 | 
             
                  assert_have_selector '#demo input', :name => 'markup_user[email]', :class => 'string invalid'
         | 
| 225 225 | 
             
                end
         | 
| 226 226 |  | 
| 227 | 
            -
                should  | 
| 227 | 
            +
                it 'should display correct form in erb' do
         | 
| 228 228 | 
             
                  visit '/erb/form_for'
         | 
| 229 229 | 
             
                  assert_have_selector '#demo div.field-errors h2',     :content => "custom MarkupUser cannot be saved!"
         | 
| 230 230 | 
             
                  assert_have_selector '#demo div.field-errors ul li',  :content => "Fake must be valid"
         | 
| @@ -237,7 +237,7 @@ describe "FormBuilder" do | |
| 237 237 | 
             
                  assert_have_selector '#demo input', :name => 'markup_user[email]', :class => 'string invalid'
         | 
| 238 238 | 
             
                end
         | 
| 239 239 |  | 
| 240 | 
            -
                should  | 
| 240 | 
            +
                it 'should display correct form in slim' do
         | 
| 241 241 | 
             
                  visit '/slim/form_for'
         | 
| 242 242 | 
             
                  assert_have_selector '#demo div.field-errors h2',     :content => "custom MarkupUser cannot be saved!"
         | 
| 243 243 | 
             
                  assert_have_selector '#demo div.field-errors ul li',  :content => "Fake must be valid"
         | 
| @@ -251,51 +251,51 @@ describe "FormBuilder" do | |
| 251 251 | 
             
                end
         | 
| 252 252 | 
             
              end
         | 
| 253 253 |  | 
| 254 | 
            -
               | 
| 255 | 
            -
                should  | 
| 254 | 
            +
              describe 'for #error_message_on method' do
         | 
| 255 | 
            +
                it 'should display correct form html with no record' do
         | 
| 256 256 | 
             
                  actual_html = standard_builder(@user_none).error_message_on(:name)
         | 
| 257 257 | 
             
                  assert actual_html.blank?
         | 
| 258 258 | 
             
                end
         | 
| 259 259 |  | 
| 260 | 
            -
                should  | 
| 260 | 
            +
                it 'should display error for specified invalid object' do
         | 
| 261 261 | 
             
                  actual_html = standard_builder(@user).error_message_on(:a, :prepend => "foo", :append => "bar")
         | 
| 262 262 | 
             
                  assert_has_tag('span.error', :content => "foo must be present bar") { actual_html }
         | 
| 263 263 | 
             
                end
         | 
| 264 264 |  | 
| 265 | 
            -
                should  | 
| 265 | 
            +
                it 'should display error for specified invalid object not matching class name' do
         | 
| 266 266 | 
             
                  @bob = mock_model("User", :first_name => "Frank", :errors => { :foo => "must be bob" })
         | 
| 267 267 | 
             
                  actual_html = standard_builder(@bob).error_message_on(:foo, :prepend => "foo", :append => "bar")
         | 
| 268 268 | 
             
                  assert_has_tag('span.error', :content => "foo must be bob bar") { actual_html }
         | 
| 269 269 | 
             
                end
         | 
| 270 270 | 
             
              end
         | 
| 271 271 |  | 
| 272 | 
            -
               | 
| 273 | 
            -
                should  | 
| 272 | 
            +
              describe 'for #label method' do
         | 
| 273 | 
            +
                it 'should display correct label html' do
         | 
| 274 274 | 
             
                  actual_html = standard_builder.label(:first_name, :class => 'large', :caption => "F. Name: ")
         | 
| 275 275 | 
             
                  assert_has_tag('label', :class => 'large', :for => 'user_first_name', :content => "F. Name: ") { actual_html }
         | 
| 276 276 | 
             
                end
         | 
| 277 277 |  | 
| 278 | 
            -
                should  | 
| 278 | 
            +
                it 'should set specific content inside the label if a block was provided' do
         | 
| 279 279 | 
             
                  actual_html = standard_builder.label(:admin, :class => 'large') { input_tag :checkbox }
         | 
| 280 280 | 
             
                  assert_has_tag('label', :class => 'large', :for => 'user_admin', :content => "Admin: ") { actual_html }
         | 
| 281 281 | 
             
                  assert_has_tag('label input[type=checkbox]') { actual_html }
         | 
| 282 282 | 
             
                end
         | 
| 283 283 |  | 
| 284 | 
            -
                should  | 
| 284 | 
            +
                it 'should display correct label in haml' do
         | 
| 285 285 | 
             
                  visit '/haml/form_for'
         | 
| 286 286 | 
             
                  assert_have_selector '#demo label', :content => "Login: ", :class => 'user-label'
         | 
| 287 287 | 
             
                  assert_have_selector '#demo label', :content => "About Me: "
         | 
| 288 288 | 
             
                  assert_have_selector '#demo2 label', :content => "Nickname: ", :class => 'label'
         | 
| 289 289 | 
             
                end
         | 
| 290 290 |  | 
| 291 | 
            -
                should  | 
| 291 | 
            +
                it 'should display correct label in erb' do
         | 
| 292 292 | 
             
                  visit '/erb/form_for'
         | 
| 293 293 | 
             
                  assert_have_selector '#demo label', :content => "Login: ", :class => 'user-label'
         | 
| 294 294 | 
             
                  assert_have_selector '#demo label', :content => "About Me: "
         | 
| 295 295 | 
             
                  assert_have_selector '#demo2 label', :content => "Nickname: ", :class => 'label'
         | 
| 296 296 | 
             
                end
         | 
| 297 297 |  | 
| 298 | 
            -
                should  | 
| 298 | 
            +
                it 'should display correct label in slim' do
         | 
| 299 299 | 
             
                  visit '/slim/form_for'
         | 
| 300 300 | 
             
                  assert_have_selector '#demo label', :content => "Login: ", :class => 'user-label'
         | 
| 301 301 | 
             
                  assert_have_selector '#demo label', :content => "About Me: "
         | 
| @@ -303,225 +303,225 @@ describe "FormBuilder" do | |
| 303 303 | 
             
                end
         | 
| 304 304 | 
             
              end
         | 
| 305 305 |  | 
| 306 | 
            -
               | 
| 307 | 
            -
                should  | 
| 306 | 
            +
              describe 'for #hidden_field method' do
         | 
| 307 | 
            +
                it 'should display correct hidden field html' do
         | 
| 308 308 | 
             
                  actual_html = standard_builder.hidden_field(:session_id, :class => 'hidden')
         | 
| 309 309 | 
             
                  assert_has_tag('input.hidden[type=hidden]', :value => "54", :id => 'user_session_id', :name => 'user[session_id]') { actual_html }
         | 
| 310 310 | 
             
                end
         | 
| 311 311 |  | 
| 312 | 
            -
                should  | 
| 312 | 
            +
                it 'should display correct hidden field in haml' do
         | 
| 313 313 | 
             
                  visit '/haml/form_for'
         | 
| 314 314 | 
             
                  assert_have_selector '#demo input[type=hidden]', :id => 'markup_user_session_id', :value => "45"
         | 
| 315 315 | 
             
                  assert_have_selector '#demo2 input', :type => 'hidden', :name => 'markup_user[session_id]'
         | 
| 316 316 | 
             
                end
         | 
| 317 317 |  | 
| 318 | 
            -
                should  | 
| 318 | 
            +
                it 'should display correct hidden field in erb' do
         | 
| 319 319 | 
             
                  visit '/erb/form_for'
         | 
| 320 320 | 
             
                  assert_have_selector '#demo input[type=hidden]', :id => 'markup_user_session_id', :value => "45"
         | 
| 321 321 | 
             
                  assert_have_selector '#demo2 input', :type => 'hidden', :name => 'markup_user[session_id]'
         | 
| 322 322 | 
             
                end
         | 
| 323 323 |  | 
| 324 | 
            -
                should  | 
| 324 | 
            +
                it 'should display correct hidden field in slim' do
         | 
| 325 325 | 
             
                  visit '/slim/form_for'
         | 
| 326 326 | 
             
                  assert_have_selector '#demo input[type=hidden]', :id => 'markup_user_session_id', :value => "45"
         | 
| 327 327 | 
             
                  assert_have_selector '#demo2 input', :type => 'hidden', :name => 'markup_user[session_id]'
         | 
| 328 328 | 
             
                end
         | 
| 329 329 | 
             
              end
         | 
| 330 330 |  | 
| 331 | 
            -
               | 
| 332 | 
            -
                should  | 
| 331 | 
            +
              describe 'for #text_field method' do
         | 
| 332 | 
            +
                it 'should display correct text field html' do
         | 
| 333 333 | 
             
                  actual_html = standard_builder.text_field(:first_name, :class => 'large')
         | 
| 334 334 | 
             
                  assert_has_tag('input.large[type=text]', :value => "Joe", :id => 'user_first_name', :name => 'user[first_name]') { actual_html }
         | 
| 335 335 | 
             
                end
         | 
| 336 336 |  | 
| 337 | 
            -
                should  | 
| 337 | 
            +
                it 'should display correct text field in haml' do
         | 
| 338 338 | 
             
                  visit '/haml/form_for'
         | 
| 339 339 | 
             
                  assert_have_selector '#demo input.user-text[type=text]', :id => 'markup_user_username', :value => "John"
         | 
| 340 340 | 
             
                  assert_have_selector '#demo2 input', :type => 'text', :class => 'input', :name => 'markup_user[username]'
         | 
| 341 341 | 
             
                end
         | 
| 342 342 |  | 
| 343 | 
            -
                should  | 
| 343 | 
            +
                it 'should display correct text field in erb' do
         | 
| 344 344 | 
             
                  visit '/erb/form_for'
         | 
| 345 345 | 
             
                  assert_have_selector '#demo input.user-text[type=text]', :id => 'markup_user_username', :value => "John"
         | 
| 346 346 | 
             
                  assert_have_selector '#demo2 input', :type => 'text', :class => 'input', :name => 'markup_user[username]'
         | 
| 347 347 | 
             
                end
         | 
| 348 348 |  | 
| 349 | 
            -
                should  | 
| 349 | 
            +
                it 'should display correct text field in slim' do
         | 
| 350 350 | 
             
                  visit '/slim/form_for'
         | 
| 351 351 | 
             
                  assert_have_selector '#demo input.user-text[type=text]', :id => 'markup_user_username', :value => "John"
         | 
| 352 352 | 
             
                  assert_have_selector '#demo2 input', :type => 'text', :class => 'input', :name => 'markup_user[username]'
         | 
| 353 353 | 
             
                end
         | 
| 354 354 | 
             
              end
         | 
| 355 355 |  | 
| 356 | 
            -
               | 
| 357 | 
            -
                should  | 
| 356 | 
            +
              describe 'for #number_field method' do
         | 
| 357 | 
            +
                it 'should display correct number field html' do
         | 
| 358 358 | 
             
                  actual_html = standard_builder.number_field(:age, :class => 'numeric')
         | 
| 359 359 | 
             
                  assert_has_tag('input.numeric[type=number]', :id => 'user_age', :name => 'user[age]') { actual_html }
         | 
| 360 360 | 
             
                end
         | 
| 361 361 |  | 
| 362 | 
            -
                should  | 
| 362 | 
            +
                it 'should display correct number field in haml' do
         | 
| 363 363 | 
             
                  visit '/haml/form_for'
         | 
| 364 364 | 
             
                  assert_have_selector '#demo input.numeric[type=number]', :id => 'markup_user_age'
         | 
| 365 365 | 
             
                end
         | 
| 366 366 |  | 
| 367 | 
            -
                should  | 
| 367 | 
            +
                it 'should display correct number field in erb' do
         | 
| 368 368 | 
             
                  visit '/erb/form_for'
         | 
| 369 369 | 
             
                  assert_have_selector '#demo input.numeric[type=number]', :id => 'markup_user_age'
         | 
| 370 370 | 
             
                end
         | 
| 371 371 |  | 
| 372 | 
            -
                should  | 
| 372 | 
            +
                it 'should display correct number field in slim' do
         | 
| 373 373 | 
             
                  visit '/slim/form_for'
         | 
| 374 374 | 
             
                  assert_have_selector '#demo input.numeric[type=number]', :id => 'markup_user_age'
         | 
| 375 375 | 
             
                end
         | 
| 376 376 | 
             
              end
         | 
| 377 377 |  | 
| 378 | 
            -
               | 
| 379 | 
            -
                should  | 
| 378 | 
            +
              describe 'for #telephone_field method' do
         | 
| 379 | 
            +
                it 'should display correct telephone field html' do
         | 
| 380 380 | 
             
                  actual_html = standard_builder.telephone_field(:telephone, :class => 'numeric')
         | 
| 381 381 | 
             
                  assert_has_tag('input.numeric[type=tel]', :id => 'user_telephone', :name => 'user[telephone]') { actual_html }
         | 
| 382 382 | 
             
                end
         | 
| 383 383 |  | 
| 384 | 
            -
                should  | 
| 384 | 
            +
                it 'should display correct telephone field in haml' do
         | 
| 385 385 | 
             
                  visit '/haml/form_for'
         | 
| 386 386 | 
             
                  assert_have_selector '#demo input.numeric[type=tel]', :id => 'markup_user_telephone'
         | 
| 387 387 | 
             
                end
         | 
| 388 388 |  | 
| 389 | 
            -
                should  | 
| 389 | 
            +
                it 'should display correct telephone field in erb' do
         | 
| 390 390 | 
             
                  visit '/erb/form_for'
         | 
| 391 391 | 
             
                  assert_have_selector '#demo input.numeric[type=tel]', :id => 'markup_user_telephone'
         | 
| 392 392 | 
             
                end
         | 
| 393 393 |  | 
| 394 | 
            -
                should  | 
| 394 | 
            +
                it 'should display correct telephone field in slim' do
         | 
| 395 395 | 
             
                  visit '/slim/form_for'
         | 
| 396 396 | 
             
                  assert_have_selector '#demo input.numeric[type=tel]', :id => 'markup_user_telephone'
         | 
| 397 397 | 
             
                end
         | 
| 398 398 | 
             
              end
         | 
| 399 399 |  | 
| 400 | 
            -
               | 
| 401 | 
            -
                should  | 
| 400 | 
            +
              describe 'for #search_field method' do
         | 
| 401 | 
            +
                it 'should display correct search field html' do
         | 
| 402 402 | 
             
                  actual_html = standard_builder.search_field(:search, :class => 'string')
         | 
| 403 403 | 
             
                  assert_has_tag('input.string[type=search]', :id => 'user_search', :name => 'user[search]') { actual_html }
         | 
| 404 404 | 
             
                end
         | 
| 405 405 |  | 
| 406 | 
            -
                should  | 
| 406 | 
            +
                it 'should display correct search field in haml' do
         | 
| 407 407 | 
             
                  visit '/haml/form_for'
         | 
| 408 408 | 
             
                  assert_have_selector '#demo input.string[type=search]', :id => 'markup_user_search'
         | 
| 409 409 | 
             
                end
         | 
| 410 410 |  | 
| 411 | 
            -
                should  | 
| 411 | 
            +
                it 'should display correct search field in erb' do
         | 
| 412 412 | 
             
                  visit '/erb/form_for'
         | 
| 413 413 | 
             
                  assert_have_selector '#demo input.string[type=search]', :id => 'markup_user_search'
         | 
| 414 414 | 
             
                end
         | 
| 415 415 |  | 
| 416 | 
            -
                should  | 
| 416 | 
            +
                it 'should display correct search field in slim' do
         | 
| 417 417 | 
             
                  visit '/slim/form_for'
         | 
| 418 418 | 
             
                  assert_have_selector '#demo input.string[type=search]', :id => 'markup_user_search'
         | 
| 419 419 | 
             
                end
         | 
| 420 420 | 
             
              end
         | 
| 421 421 |  | 
| 422 | 
            -
               | 
| 423 | 
            -
                should  | 
| 422 | 
            +
              describe 'for #email_field method' do
         | 
| 423 | 
            +
                it 'should display correct email field html' do
         | 
| 424 424 | 
             
                  actual_html = standard_builder.email_field(:email, :class => 'string')
         | 
| 425 425 | 
             
                  assert_has_tag('input.string[type=email]', :id => 'user_email', :name => 'user[email]') { actual_html }
         | 
| 426 426 | 
             
                end
         | 
| 427 427 |  | 
| 428 | 
            -
                should  | 
| 428 | 
            +
                it 'should display correct email field in haml' do
         | 
| 429 429 | 
             
                  visit '/haml/form_for'
         | 
| 430 430 | 
             
                  assert_have_selector '#demo input.string[type=email]', :id => 'markup_user_email'
         | 
| 431 431 | 
             
                end
         | 
| 432 432 |  | 
| 433 | 
            -
                should  | 
| 433 | 
            +
                it 'should display correct email field in erb' do
         | 
| 434 434 | 
             
                  visit '/erb/form_for'
         | 
| 435 435 | 
             
                  assert_have_selector '#demo input.string[type=email]', :id => 'markup_user_email'
         | 
| 436 436 | 
             
                end
         | 
| 437 437 |  | 
| 438 | 
            -
                should  | 
| 438 | 
            +
                it 'should display correct email field in slim' do
         | 
| 439 439 | 
             
                  visit '/slim/form_for'
         | 
| 440 440 | 
             
                  assert_have_selector '#demo input.string[type=email]', :id => 'markup_user_email'
         | 
| 441 441 | 
             
                end
         | 
| 442 442 | 
             
              end
         | 
| 443 443 |  | 
| 444 | 
            -
               | 
| 445 | 
            -
                should  | 
| 444 | 
            +
              describe 'for #url_field method' do
         | 
| 445 | 
            +
                it 'should display correct url field html' do
         | 
| 446 446 | 
             
                  actual_html = standard_builder.url_field(:webpage, :class => 'string')
         | 
| 447 447 | 
             
                  assert_has_tag('input.string[type=url]', :id => 'user_webpage', :name => 'user[webpage]') { actual_html }
         | 
| 448 448 | 
             
                end
         | 
| 449 449 |  | 
| 450 | 
            -
                should  | 
| 450 | 
            +
                it 'should display correct url field in haml' do
         | 
| 451 451 | 
             
                  visit '/haml/form_for'
         | 
| 452 452 | 
             
                  assert_have_selector '#demo input.string[type=url]', :id => 'markup_user_webpage'
         | 
| 453 453 | 
             
                end
         | 
| 454 454 |  | 
| 455 | 
            -
                should  | 
| 455 | 
            +
                it 'should display correct url field in erb' do
         | 
| 456 456 | 
             
                  visit '/erb/form_for'
         | 
| 457 457 | 
             
                  assert_have_selector '#demo input.string[type=url]', :id => 'markup_user_webpage'
         | 
| 458 458 | 
             
                end
         | 
| 459 459 |  | 
| 460 | 
            -
                should  | 
| 460 | 
            +
                it 'should display correct url field in slim' do
         | 
| 461 461 | 
             
                  visit '/slim/form_for'
         | 
| 462 462 | 
             
                  assert_have_selector '#demo input.string[type=url]', :id => 'markup_user_webpage'
         | 
| 463 463 | 
             
                end
         | 
| 464 464 | 
             
              end
         | 
| 465 465 |  | 
| 466 | 
            -
               | 
| 467 | 
            -
                should  | 
| 466 | 
            +
              describe 'for #check_box method' do
         | 
| 467 | 
            +
                it 'should display correct checkbox html' do
         | 
| 468 468 | 
             
                  actual_html = standard_builder.check_box(:confirm_destroy, :class => 'large')
         | 
| 469 469 | 
             
                  assert_has_tag('input.large[type=checkbox]', :id => 'user_confirm_destroy', :name => 'user[confirm_destroy]') { actual_html }
         | 
| 470 470 | 
             
                  assert_has_tag('input[type=hidden]', :name => 'user[confirm_destroy]', :value => '0') { actual_html }
         | 
| 471 471 | 
             
                end
         | 
| 472 472 |  | 
| 473 | 
            -
                should  | 
| 473 | 
            +
                it 'should display correct checkbox html when checked' do
         | 
| 474 474 | 
             
                  actual_html = standard_builder.check_box(:confirm_destroy, :checked => true)
         | 
| 475 475 | 
             
                  assert_has_tag('input[type=checkbox]', :checked => 'checked', :name => 'user[confirm_destroy]') { actual_html }
         | 
| 476 476 | 
             
                end
         | 
| 477 477 |  | 
| 478 | 
            -
                should  | 
| 478 | 
            +
                it 'should display correct checkbox html as checked when object value matches' do
         | 
| 479 479 | 
             
                  @user.stubs(:show_favorites => 'human')
         | 
| 480 480 | 
             
                  actual_html = standard_builder.check_box(:show_favorites, :value => 'human')
         | 
| 481 481 | 
             
                  assert_has_tag('input[type=checkbox]', :checked => 'checked', :name => 'user[show_favorites]') { actual_html }
         | 
| 482 482 | 
             
                end
         | 
| 483 483 |  | 
| 484 | 
            -
                should  | 
| 484 | 
            +
                it 'should display correct checkbox html as checked when object value is true' do
         | 
| 485 485 | 
             
                  @user.stubs(:show_favorites => true)
         | 
| 486 486 | 
             
                  actual_html = standard_builder.check_box(:show_favorites, :value => '1')
         | 
| 487 487 | 
             
                  assert_has_tag('input[type=checkbox]', :checked => 'checked', :name => 'user[show_favorites]') { actual_html }
         | 
| 488 488 | 
             
                end
         | 
| 489 489 |  | 
| 490 | 
            -
                should  | 
| 490 | 
            +
                it 'should display correct checkbox html as unchecked when object value does not match' do
         | 
| 491 491 | 
             
                  @user.stubs(:show_favorites => 'alien')
         | 
| 492 492 | 
             
                  actual_html = standard_builder.check_box(:show_favorites, :value => 'human')
         | 
| 493 493 | 
             
                  assert_has_no_tag('input[type=checkbox]', :checked => 'checked') { actual_html }
         | 
| 494 494 | 
             
                end
         | 
| 495 495 |  | 
| 496 | 
            -
                should  | 
| 496 | 
            +
                it 'should display correct checkbox html as unchecked when object value is false' do
         | 
| 497 497 | 
             
                  @user.stubs(:show_favorites => false)
         | 
| 498 498 | 
             
                  actual_html = standard_builder.check_box(:show_favorites, :value => '1')
         | 
| 499 499 | 
             
                  assert_has_no_tag('input[type=checkbox]', :checked => 'checked') { actual_html }
         | 
| 500 500 | 
             
                end
         | 
| 501 501 |  | 
| 502 | 
            -
                should  | 
| 502 | 
            +
                it 'should display correct unchecked hidden field when specified' do
         | 
| 503 503 | 
             
                  actual_html = standard_builder.check_box(:show_favorites, :value => 'female', :uncheck_value => 'false')
         | 
| 504 504 | 
             
                  assert_has_tag('input[type=hidden]', :name => 'user[show_favorites]', :value => 'false') { actual_html }
         | 
| 505 505 | 
             
                end
         | 
| 506 506 |  | 
| 507 | 
            -
                should  | 
| 507 | 
            +
                it 'should display correct checkbox in haml' do
         | 
| 508 508 | 
             
                  visit '/haml/form_for'
         | 
| 509 509 | 
             
                  assert_have_selector '#demo input[type=checkbox]', :checked => 'checked', :id => 'markup_user_remember_me', :name => 'markup_user[remember_me]'
         | 
| 510 510 | 
             
                end
         | 
| 511 511 |  | 
| 512 | 
            -
                should  | 
| 512 | 
            +
                it 'should display correct checkbox in erb' do
         | 
| 513 513 | 
             
                  visit '/erb/form_for'
         | 
| 514 514 | 
             
                  assert_have_selector '#demo input[type=checkbox]', :checked => 'checked', :id => 'markup_user_remember_me', :name => 'markup_user[remember_me]'
         | 
| 515 515 | 
             
                end
         | 
| 516 516 |  | 
| 517 | 
            -
                should  | 
| 517 | 
            +
                it 'should display correct checkbox in slim' do
         | 
| 518 518 | 
             
                  visit '/slim/form_for'
         | 
| 519 519 | 
             
                  assert_have_selector '#demo input[type=checkbox]', :checked => 'checked', :id => 'markup_user_remember_me', :name => 'markup_user[remember_me]'
         | 
| 520 520 | 
             
                end
         | 
| 521 521 | 
             
              end
         | 
| 522 522 |  | 
| 523 | 
            -
               | 
| 524 | 
            -
                should  | 
| 523 | 
            +
              describe 'for #check_box_group and #radio_button_group methods' do
         | 
| 524 | 
            +
                it 'should display checkbox group html' do
         | 
| 525 525 | 
             
                  checkboxes = standard_builder.check_box_group(:role, :collection => @user.role_types, :fields => [:name, :id], :selected => [2,3])
         | 
| 526 526 | 
             
                  assert_has_tag('input[type=checkbox]', :value => '1') { checkboxes }
         | 
| 527 527 | 
             
                  assert_has_no_tag('input[type=checkbox][checked]', :value => '1') { checkboxes }
         | 
| @@ -529,14 +529,14 @@ describe "FormBuilder" do | |
| 529 529 | 
             
                  assert_has_tag('label[for=user_role_3] input[name="user[role][]"][value="3"][checked]') { checkboxes }
         | 
| 530 530 | 
             
                end
         | 
| 531 531 |  | 
| 532 | 
            -
                should  | 
| 532 | 
            +
                it 'should display checkbox group html and extract selected values from the object' do
         | 
| 533 533 | 
             
                  checkboxes = standard_builder.check_box_group(:roles, :collection => @user.role_types, :fields => [:name, :id])
         | 
| 534 534 | 
             
                  assert_has_tag('input[type=checkbox][name="user[roles][]"][value="1"][checked]') { checkboxes }
         | 
| 535 535 | 
             
                  assert_has_tag('input[type=checkbox][name="user[roles][]"][value="3"][checked]') { checkboxes }
         | 
| 536 536 | 
             
                  assert_has_no_tag('input[type=checkbox][name="user[roles][]"][value="2"][checked]') { checkboxes }
         | 
| 537 537 | 
             
                end
         | 
| 538 538 |  | 
| 539 | 
            -
                should  | 
| 539 | 
            +
                it 'should display radio group html' do
         | 
| 540 540 | 
             
                  radios = standard_builder.radio_button_group(:role, :options => %W(red yellow blue), :selected => 'yellow')
         | 
| 541 541 | 
             
                  assert_has_tag('input[type=radio]', :value => 'red') { radios }
         | 
| 542 542 | 
             
                  assert_has_no_tag('input[type=radio][checked]', :value => 'red') { radios }
         | 
| @@ -544,51 +544,51 @@ describe "FormBuilder" do | |
| 544 544 | 
             
                  assert_has_tag('label[for=user_role_blue] input[name="user[role]"][value=blue]') { radios }
         | 
| 545 545 | 
             
                end
         | 
| 546 546 |  | 
| 547 | 
            -
                should  | 
| 547 | 
            +
                it 'should display radio group html and extract selected value from the object' do
         | 
| 548 548 | 
             
                  radios = standard_builder.radio_button_group(:role, :collection => @user.role_types)
         | 
| 549 549 | 
             
                  assert_has_tag('input[type=radio][value="1"][checked]') { radios }
         | 
| 550 550 | 
             
                  assert_has_no_tag('input[type=radio][value="2"][checked]') { radios }
         | 
| 551 551 | 
             
                end
         | 
| 552 552 | 
             
              end
         | 
| 553 553 |  | 
| 554 | 
            -
               | 
| 555 | 
            -
                should  | 
| 554 | 
            +
              describe 'for #radio_button method' do
         | 
| 555 | 
            +
                it 'should display correct radio button html' do
         | 
| 556 556 | 
             
                  actual_html = standard_builder.radio_button(:gender, :value => 'male', :class => 'large')
         | 
| 557 557 | 
             
                  assert_has_tag('input.large[type=radio]', :id => 'user_gender_male', :name => 'user[gender]', :value => 'male') { actual_html }
         | 
| 558 558 | 
             
                end
         | 
| 559 559 |  | 
| 560 | 
            -
                should  | 
| 560 | 
            +
                it 'should display correct radio button html when checked' do
         | 
| 561 561 | 
             
                  actual_html = standard_builder.radio_button(:gender, :checked => true)
         | 
| 562 562 | 
             
                  assert_has_tag('input[type=radio]', :checked => 'checked', :name => 'user[gender]') { actual_html }
         | 
| 563 563 | 
             
                end
         | 
| 564 564 |  | 
| 565 | 
            -
                should  | 
| 565 | 
            +
                it 'should display correct radio button html as checked when object value matches' do
         | 
| 566 566 | 
             
                  @user.stubs(:gender => 'male')
         | 
| 567 567 | 
             
                  actual_html = standard_builder.radio_button(:gender, :value => 'male')
         | 
| 568 568 | 
             
                  assert_has_tag('input[type=radio]', :checked => 'checked', :name => 'user[gender]') { actual_html }
         | 
| 569 569 | 
             
                end
         | 
| 570 570 |  | 
| 571 | 
            -
                should  | 
| 571 | 
            +
                it 'should display correct radio button html as unchecked when object value does not match' do
         | 
| 572 572 | 
             
                  @user.stubs(:gender => 'male')
         | 
| 573 573 | 
             
                  actual_html = standard_builder.radio_button(:gender, :value => 'female')
         | 
| 574 574 | 
             
                  assert_has_no_tag('input[type=radio]', :checked => 'checked') { actual_html }
         | 
| 575 575 | 
             
                end
         | 
| 576 576 |  | 
| 577 | 
            -
                should  | 
| 577 | 
            +
                it 'should display correct radio button in haml' do
         | 
| 578 578 | 
             
                  visit '/haml/form_for'
         | 
| 579 579 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_male', :name => 'markup_user[gender]', :value => 'male'
         | 
| 580 580 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_female', :name => 'markup_user[gender]', :value => 'female'
         | 
| 581 581 | 
             
                  assert_have_selector '#demo input[type=radio][checked=checked]', :id => 'markup_user_gender_male'
         | 
| 582 582 | 
             
                end
         | 
| 583 583 |  | 
| 584 | 
            -
                should  | 
| 584 | 
            +
                it 'should display correct radio button in erb' do
         | 
| 585 585 | 
             
                  visit '/erb/form_for'
         | 
| 586 586 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_male', :name => 'markup_user[gender]', :value => 'male'
         | 
| 587 587 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_female', :name => 'markup_user[gender]', :value => 'female'
         | 
| 588 588 | 
             
                  assert_have_selector '#demo input[type=radio][checked=checked]', :id => 'markup_user_gender_male'
         | 
| 589 589 | 
             
                end
         | 
| 590 590 |  | 
| 591 | 
            -
                should  | 
| 591 | 
            +
                it 'should display correct radio button in slim' do
         | 
| 592 592 | 
             
                  visit '/slim/form_for'
         | 
| 593 593 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_male', :name => 'markup_user[gender]', :value => 'male'
         | 
| 594 594 | 
             
                  assert_have_selector '#demo input[type=radio]', :id => 'markup_user_gender_female', :name => 'markup_user[gender]', :value => 'female'
         | 
| @@ -596,99 +596,99 @@ describe "FormBuilder" do | |
| 596 596 | 
             
                end
         | 
| 597 597 | 
             
              end
         | 
| 598 598 |  | 
| 599 | 
            -
               | 
| 600 | 
            -
                should  | 
| 599 | 
            +
              describe 'for #text_area method' do
         | 
| 600 | 
            +
                it 'should display correct text_area html' do
         | 
| 601 601 | 
             
                  actual_html = standard_builder.text_area(:about, :class => 'large')
         | 
| 602 602 | 
             
                  assert_has_tag('textarea.large', :id => 'user_about', :name => 'user[about]') { actual_html }
         | 
| 603 603 | 
             
                end
         | 
| 604 604 |  | 
| 605 | 
            -
                should  | 
| 605 | 
            +
                it 'should display correct text_area html and content' do
         | 
| 606 606 | 
             
                  actual_html = standard_builder.text_area(:about, :value => "Demo", :rows => '5', :cols => '6')
         | 
| 607 607 | 
             
                  assert_has_tag('textarea', :id => 'user_about', :content => 'Demo', :rows => '5', :cols => '6') { actual_html }
         | 
| 608 608 | 
             
                end
         | 
| 609 609 |  | 
| 610 | 
            -
                should  | 
| 610 | 
            +
                it 'should display correct text_area in haml' do
         | 
| 611 611 | 
             
                  visit '/haml/form_for'
         | 
| 612 612 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 613 613 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 614 614 | 
             
                end
         | 
| 615 615 |  | 
| 616 | 
            -
                should  | 
| 616 | 
            +
                it 'should display correct text_area in erb' do
         | 
| 617 617 | 
             
                  visit '/erb/form_for'
         | 
| 618 618 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 619 619 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 620 620 | 
             
                end
         | 
| 621 621 |  | 
| 622 | 
            -
                should  | 
| 622 | 
            +
                it 'should display correct text_area in slim' do
         | 
| 623 623 | 
             
                  visit '/slim/form_for'
         | 
| 624 624 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 625 625 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 626 626 | 
             
                end
         | 
| 627 627 | 
             
              end
         | 
| 628 628 |  | 
| 629 | 
            -
               | 
| 630 | 
            -
                should  | 
| 629 | 
            +
              describe 'for #password_field method' do
         | 
| 630 | 
            +
                it 'should display correct password_field html' do
         | 
| 631 631 | 
             
                  actual_html = standard_builder.password_field(:code, :class => 'large')
         | 
| 632 632 | 
             
                  assert_has_tag('input.large[type=password]', :id => 'user_code', :name => 'user[code]') { actual_html }
         | 
| 633 633 | 
             
                end
         | 
| 634 634 |  | 
| 635 | 
            -
                should  | 
| 635 | 
            +
                it 'should display correct password_field in haml' do
         | 
| 636 636 | 
             
                  visit '/haml/form_for'
         | 
| 637 637 | 
             
                  assert_have_selector '#demo input', :type => 'password', :class => 'user-password', :value => 'secret'
         | 
| 638 638 | 
             
                  assert_have_selector '#demo2 input', :type => 'password', :class => 'input', :name => 'markup_user[code]'
         | 
| 639 639 | 
             
                end
         | 
| 640 640 |  | 
| 641 | 
            -
                should  | 
| 641 | 
            +
                it 'should display correct password_field in erb' do
         | 
| 642 642 | 
             
                  visit '/erb/form_for'
         | 
| 643 643 | 
             
                  assert_have_selector '#demo input', :type => 'password', :class => 'user-password', :value => 'secret'
         | 
| 644 644 | 
             
                  assert_have_selector '#demo2 input', :type => 'password', :class => 'input', :name => 'markup_user[code]'
         | 
| 645 645 | 
             
                end
         | 
| 646 646 |  | 
| 647 | 
            -
                should  | 
| 647 | 
            +
                it 'should display correct password_field in slim' do
         | 
| 648 648 | 
             
                  visit '/slim/form_for'
         | 
| 649 649 | 
             
                  assert_have_selector '#demo input', :type => 'password', :class => 'user-password', :value => 'secret'
         | 
| 650 650 | 
             
                  assert_have_selector '#demo2 input', :type => 'password', :class => 'input', :name => 'markup_user[code]'
         | 
| 651 651 | 
             
                end
         | 
| 652 652 | 
             
              end
         | 
| 653 653 |  | 
| 654 | 
            -
               | 
| 655 | 
            -
                should  | 
| 654 | 
            +
              describe 'for #file_field method' do
         | 
| 655 | 
            +
                it 'should display correct file_field html' do
         | 
| 656 656 | 
             
                  actual_html = standard_builder.file_field(:photo, :class => 'large')
         | 
| 657 657 | 
             
                  assert_has_tag('input.large[type=file]', :id => 'user_photo', :name => 'user[photo]') { actual_html }
         | 
| 658 658 | 
             
                end
         | 
| 659 659 |  | 
| 660 | 
            -
                should  | 
| 660 | 
            +
                it 'should display correct file_field in haml' do
         | 
| 661 661 | 
             
                  visit '/haml/form_for'
         | 
| 662 662 | 
             
                  assert_have_selector '#demo  input.user-photo', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 663 663 | 
             
                  assert_have_selector '#demo2 input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 664 664 | 
             
                end
         | 
| 665 665 |  | 
| 666 | 
            -
                should  | 
| 666 | 
            +
                it 'should display correct file_field in erb' do
         | 
| 667 667 | 
             
                  visit '/erb/form_for'
         | 
| 668 668 | 
             
                  assert_have_selector '#demo  input.user-photo', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 669 669 | 
             
                  assert_have_selector '#demo2 input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 670 670 | 
             
                end
         | 
| 671 671 |  | 
| 672 | 
            -
                should  | 
| 672 | 
            +
                it 'should display correct file_field in slim' do
         | 
| 673 673 | 
             
                  visit '/slim/form_for'
         | 
| 674 674 | 
             
                  assert_have_selector '#demo  input.user-photo', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 675 675 | 
             
                  assert_have_selector '#demo2 input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 676 676 | 
             
                end
         | 
| 677 677 |  | 
| 678 | 
            -
                should  | 
| 678 | 
            +
                it 'should display correct form html with multipart, even if no multipart option is specified' do
         | 
| 679 679 | 
             
                  actual_html = form_for(@user, '/register', :"accept-charset" => "UTF-8") { |f| f.file_field :photo }
         | 
| 680 680 | 
             
                  assert_has_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :enctype => "multipart/form-data") { actual_html }
         | 
| 681 681 | 
             
                end
         | 
| 682 682 |  | 
| 683 | 
            -
                should  | 
| 683 | 
            +
                it 'should display correct form html without multipart, if multipart option is specified false' do
         | 
| 684 684 | 
             
                  actual_html = form_for(@user, '/register', :"accept-charset" => "UTF-8", :multipart => false) { |f| f.file_field :photo }
         | 
| 685 685 | 
             
                  assert_has_no_tag('form', :"accept-charset" => "UTF-8", :action => '/register', :enctype => "multipart/form-data") { actual_html }
         | 
| 686 686 | 
             
                end
         | 
| 687 687 |  | 
| 688 688 | 
             
              end
         | 
| 689 689 |  | 
| 690 | 
            -
               | 
| 691 | 
            -
                should  | 
| 690 | 
            +
              describe 'for #select method' do
         | 
| 691 | 
            +
                it 'should display correct select html' do
         | 
| 692 692 | 
             
                  actual_html = standard_builder.select(:state, :options => ['California', 'Texas', 'Wyoming'], :class => 'selecty')
         | 
| 693 693 | 
             
                  assert_has_tag('select.selecty', :id => 'user_state', :name => 'user[state]') { actual_html }
         | 
| 694 694 | 
             
                  assert_has_tag('select.selecty option', :count => 3) { actual_html }
         | 
| @@ -697,7 +697,7 @@ describe "FormBuilder" do | |
| 697 697 | 
             
                  assert_has_tag('select.selecty option', :value => 'Wyoming',    :content => 'Wyoming')    { actual_html }
         | 
| 698 698 | 
             
                end
         | 
| 699 699 |  | 
| 700 | 
            -
                should  | 
| 700 | 
            +
                it 'should display correct select html with selected item if it matches value' do
         | 
| 701 701 | 
             
                  @user.stubs(:state => 'California')
         | 
| 702 702 | 
             
                  actual_html = standard_builder.select(:state, :options => ['California', 'Texas', 'Wyoming'])
         | 
| 703 703 | 
             
                  assert_has_tag('select', :id => 'user_state', :name => 'user[state]') { actual_html }
         | 
| @@ -705,7 +705,7 @@ describe "FormBuilder" do | |
| 705 705 | 
             
                  assert_has_tag('select option', :value => 'California', :selected => 'selected') { actual_html }
         | 
| 706 706 | 
             
                end
         | 
| 707 707 |  | 
| 708 | 
            -
                should  | 
| 708 | 
            +
                it 'should display correct select html with selected item if it matches full value' do
         | 
| 709 709 | 
             
                  @user.stubs(:state => 'Cali')
         | 
| 710 710 | 
             
                  actual_html = standard_builder.select(:state, :options => ['Cali', 'California', 'Texas', 'Wyoming'])
         | 
| 711 711 | 
             
                  assert_has_tag('select', :id => 'user_state', :name => 'user[state]') { actual_html }
         | 
| @@ -714,7 +714,7 @@ describe "FormBuilder" do | |
| 714 714 | 
             
                  assert_has_tag('select option', :value => 'California') { actual_html }
         | 
| 715 715 | 
             
                end
         | 
| 716 716 |  | 
| 717 | 
            -
                should  | 
| 717 | 
            +
                it 'should display correct select html with multiple selected items' do
         | 
| 718 718 | 
             
                  @user.stubs(:pickles => ['foo', 'bar'])
         | 
| 719 719 | 
             
                  actual_html = standard_builder.select(
         | 
| 720 720 | 
             
                    :pickles, :options => [ ['Foo', 'foo'], ['Bar', 'bar'], ['Baz', 'baz'], ['Bar Buz', 'bar buz'] ]
         | 
| @@ -725,7 +725,7 @@ describe "FormBuilder" do | |
| 725 725 | 
             
                  assert_has_tag('option', :value => 'bar buz', :content => 'Bar Buz')  { actual_html }
         | 
| 726 726 | 
             
                end
         | 
| 727 727 |  | 
| 728 | 
            -
                should  | 
| 728 | 
            +
                it 'should display correct select html with include_blank' do
         | 
| 729 729 | 
             
                  actual_html = standard_builder.select(:state, :options => ['California', 'Texas', 'Wyoming'], :include_blank => true)
         | 
| 730 730 | 
             
                  assert_has_tag('select', :id => 'user_state', :name => 'user[state]') { actual_html }
         | 
| 731 731 | 
             
                  assert_has_tag('select option', :count => 4) { actual_html }
         | 
| @@ -738,7 +738,7 @@ describe "FormBuilder" do | |
| 738 738 | 
             
                  assert_has_tag('select option:first-child', :value => '') { actual_html }
         | 
| 739 739 | 
             
                end
         | 
| 740 740 |  | 
| 741 | 
            -
                should  | 
| 741 | 
            +
                it 'should display correct select html with collection passed in' do
         | 
| 742 742 | 
             
                  actual_html = standard_builder.select(:role, :collection => @user.role_types, :fields => [:name, :id])
         | 
| 743 743 | 
             
                  assert_has_tag('select', :id => 'user_role', :name => 'user[role]') { actual_html }
         | 
| 744 744 | 
             
                  assert_has_tag('select option', :count => 3) { actual_html }
         | 
| @@ -747,103 +747,103 @@ describe "FormBuilder" do | |
| 747 747 | 
             
                  assert_has_tag('select option', :value => '3', :content => 'Limited')   { actual_html }
         | 
| 748 748 | 
             
                end
         | 
| 749 749 |  | 
| 750 | 
            -
                should  | 
| 750 | 
            +
                it 'should display correct select in haml' do
         | 
| 751 751 | 
             
                  visit '/haml/form_for'
         | 
| 752 752 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 753 753 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 754 754 | 
             
                end
         | 
| 755 755 |  | 
| 756 | 
            -
                should  | 
| 756 | 
            +
                it 'should display correct select in erb' do
         | 
| 757 757 | 
             
                  visit '/erb/form_for'
         | 
| 758 758 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 759 759 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 760 760 | 
             
                end
         | 
| 761 761 |  | 
| 762 | 
            -
                should  | 
| 762 | 
            +
                it 'should display correct select in slim' do
         | 
| 763 763 | 
             
                  visit '/slim/form_for'
         | 
| 764 764 | 
             
                  assert_have_selector '#demo textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'user-about'
         | 
| 765 765 | 
             
                  assert_have_selector '#demo2 textarea', :name => 'markup_user[about]', :id => 'markup_user_about', :class => 'textarea'
         | 
| 766 766 | 
             
                end
         | 
| 767 767 | 
             
              end
         | 
| 768 768 |  | 
| 769 | 
            -
               | 
| 770 | 
            -
                should  | 
| 769 | 
            +
              describe 'for #submit method' do
         | 
| 770 | 
            +
                it 'should display correct submit button html with no options' do
         | 
| 771 771 | 
             
                  actual_html = standard_builder.submit
         | 
| 772 772 | 
             
                  assert_has_tag('input[type=submit]', :value => "Submit") { actual_html }
         | 
| 773 773 | 
             
                end
         | 
| 774 774 |  | 
| 775 775 |  | 
| 776 | 
            -
                should  | 
| 776 | 
            +
                it 'should display correct submit button html with no caption' do
         | 
| 777 777 | 
             
                  actual_html = standard_builder.submit(:class => 'btn')
         | 
| 778 778 | 
             
                  assert_has_tag('input.btn[type=submit]', :value => "Submit") { actual_html }
         | 
| 779 779 | 
             
                end
         | 
| 780 780 |  | 
| 781 | 
            -
                should  | 
| 781 | 
            +
                it 'should display correct submit button html with nil caption' do
         | 
| 782 782 | 
             
                  actual_html = standard_builder.submit(nil, :class => 'btn')
         | 
| 783 783 | 
             
                  assert_has_tag('input.btn[type=submit]') { actual_html }
         | 
| 784 784 | 
             
                  assert actual_html !~ %r{ value \* = }x
         | 
| 785 785 | 
             
                end
         | 
| 786 786 |  | 
| 787 | 
            -
                should  | 
| 787 | 
            +
                it 'should display correct submit button html' do
         | 
| 788 788 | 
             
                  actual_html = standard_builder.submit("Commit", :class => 'large')
         | 
| 789 789 | 
             
                  assert_has_tag('input.large[type=submit]', :value => "Commit") { actual_html }
         | 
| 790 790 | 
             
                end
         | 
| 791 791 |  | 
| 792 | 
            -
                should  | 
| 792 | 
            +
                it 'should display correct submit button in haml' do
         | 
| 793 793 | 
             
                  visit '/haml/form_for'
         | 
| 794 794 | 
             
                  assert_have_selector '#demo input', :type => 'submit', :id => 'demo-button', :class => 'success'
         | 
| 795 795 | 
             
                  assert_have_selector '#demo2 input', :type => 'submit', :class => 'button', :value => "Create"
         | 
| 796 796 | 
             
                end
         | 
| 797 797 |  | 
| 798 | 
            -
                should  | 
| 798 | 
            +
                it 'should display correct submit button in erb' do
         | 
| 799 799 | 
             
                  visit '/erb/form_for'
         | 
| 800 800 | 
             
                  assert_have_selector '#demo input', :type => 'submit', :id => 'demo-button', :class => 'success'
         | 
| 801 801 | 
             
                  assert_have_selector '#demo2 input', :type => 'submit', :class => 'button', :value => "Create"
         | 
| 802 802 | 
             
                end
         | 
| 803 803 |  | 
| 804 | 
            -
                should  | 
| 804 | 
            +
                it 'should display correct submit button in slim' do
         | 
| 805 805 | 
             
                  visit '/slim/form_for'
         | 
| 806 806 | 
             
                  assert_have_selector '#demo input', :type => 'submit', :id => 'demo-button', :class => 'success'
         | 
| 807 807 | 
             
                  assert_have_selector '#demo2 input', :type => 'submit', :class => 'button', :value => "Create"
         | 
| 808 808 | 
             
                end
         | 
| 809 809 | 
             
              end
         | 
| 810 810 |  | 
| 811 | 
            -
               | 
| 812 | 
            -
                 | 
| 811 | 
            +
              describe 'for #image_submit method' do
         | 
| 812 | 
            +
                before do
         | 
| 813 813 | 
             
                  @stamp = stop_time_for_test.to_i
         | 
| 814 814 | 
             
                end
         | 
| 815 815 |  | 
| 816 | 
            -
                should  | 
| 816 | 
            +
                it 'should display correct image submit button html with no options' do
         | 
| 817 817 | 
             
                  actual_html = standard_builder.image_submit('buttons/ok.png')
         | 
| 818 818 | 
             
                  assert_has_tag('input[type=image]', :src => "/images/buttons/ok.png?#{@stamp}") { actual_html }
         | 
| 819 819 | 
             
                end
         | 
| 820 820 |  | 
| 821 | 
            -
                should  | 
| 821 | 
            +
                it 'should display correct image submit button html' do
         | 
| 822 822 | 
             
                  actual_html = standard_builder.image_submit('/system/ok.png', :class => 'large')
         | 
| 823 823 | 
             
                  assert_has_tag('input.large[type=image]', :src => "/system/ok.png") { actual_html }
         | 
| 824 824 | 
             
                end
         | 
| 825 825 |  | 
| 826 | 
            -
                should  | 
| 826 | 
            +
                it 'should display correct image submit button in haml' do
         | 
| 827 827 | 
             
                  visit '/haml/form_for'
         | 
| 828 828 | 
             
                  assert_have_selector '#demo input', :type => 'image', :id => 'image-button', :src => "/images/buttons/post.png?#{@stamp}"
         | 
| 829 829 | 
             
                  assert_have_selector '#demo2 input', :type => 'image', :class => 'image', :src => "/images/buttons/ok.png?#{@stamp}"
         | 
| 830 830 | 
             
                end
         | 
| 831 831 |  | 
| 832 | 
            -
                should  | 
| 832 | 
            +
                it 'should display correct image submit button in erb' do
         | 
| 833 833 | 
             
                  visit '/erb/form_for'
         | 
| 834 834 | 
             
                  assert_have_selector '#demo input', :type => 'image', :id => 'image-button', :src => "/images/buttons/post.png?#{@stamp}"
         | 
| 835 835 | 
             
                  assert_have_selector '#demo2 input', :type => 'image', :class => 'image', :src => "/images/buttons/ok.png?#{@stamp}"
         | 
| 836 836 | 
             
                end
         | 
| 837 837 |  | 
| 838 | 
            -
                should  | 
| 838 | 
            +
                it 'should display correct image submit button in slim' do
         | 
| 839 839 | 
             
                  visit '/slim/form_for'
         | 
| 840 840 | 
             
                  assert_have_selector '#demo input', :type => 'image', :id => 'image-button', :src => "/images/buttons/post.png?#{@stamp}"
         | 
| 841 841 | 
             
                  assert_have_selector '#demo2 input', :type => 'image', :class => 'image', :src => "/images/buttons/ok.png?#{@stamp}"
         | 
| 842 842 | 
             
                end
         | 
| 843 843 | 
             
              end
         | 
| 844 844 |  | 
| 845 | 
            -
               | 
| 846 | 
            -
                 | 
| 845 | 
            +
              describe 'for #fields_for method' do
         | 
| 846 | 
            +
                before do
         | 
| 847 847 | 
             
                  @telephone = mock_model("Telephone", :number => "4568769876")
         | 
| 848 848 | 
             
                  @user.stubs(:telephone).returns(@telephone)
         | 
| 849 849 | 
             
                  @businesses = [ mock_model("Business", :name => "Silver", :new_record? => false, :id => 20) ]
         | 
| @@ -853,7 +853,7 @@ describe "FormBuilder" do | |
| 853 853 | 
             
                  @user.stubs(:addresses).returns(@addresses)
         | 
| 854 854 | 
             
                end
         | 
| 855 855 |  | 
| 856 | 
            -
                should  | 
| 856 | 
            +
                it 'should display nested children fields one-to-one within form' do
         | 
| 857 857 | 
             
                  actual_html = standard_builder.fields_for :telephone do |child_form|
         | 
| 858 858 | 
             
                    child_form.label(:number) +
         | 
| 859 859 | 
             
                    child_form.text_field(:number) +
         | 
| @@ -865,7 +865,7 @@ describe "FormBuilder" do | |
| 865 865 | 
             
                  assert_has_tag('input', :type => 'checkbox', :id => 'user_telephone_attributes__destroy', :name => 'user[telephone_attributes][_destroy]', :value => '1') { actual_html }
         | 
| 866 866 | 
             
                end
         | 
| 867 867 |  | 
| 868 | 
            -
                should  | 
| 868 | 
            +
                it 'should display nested children fields one-to-many within form' do
         | 
| 869 869 | 
             
                  actual_html = standard_builder.fields_for(:addresses) do |child_form|
         | 
| 870 870 | 
             
                    html = child_form.label(:name)
         | 
| 871 871 | 
             
                    html << child_form.check_box('_destroy') unless child_form.object.new_record?
         | 
| @@ -883,7 +883,7 @@ describe "FormBuilder" do | |
| 883 883 | 
             
                  assert_has_no_tag('input', :type => 'checkbox', :id => 'user_addresses_attributes_1__destroy') { actual_html }
         | 
| 884 884 | 
             
                end
         | 
| 885 885 |  | 
| 886 | 
            -
                should  | 
| 886 | 
            +
                it 'should display fields for explicit instance object' do
         | 
| 887 887 | 
             
                  address = mock_model("Address", :name => "Page", :new_record? => false, :id => 40)
         | 
| 888 888 | 
             
                  actual_html = standard_builder.fields_for(:addresses, address) do |child_form|
         | 
| 889 889 | 
             
                    html = child_form.label(:name)
         | 
| @@ -896,7 +896,7 @@ describe "FormBuilder" do | |
| 896 896 | 
             
                  assert_has_tag('input', :type => 'checkbox', :id => 'user_addresses_attributes_0__destroy', :name => 'user[addresses_attributes][0][_destroy]', :value => '1') { actual_html }
         | 
| 897 897 | 
             
                end
         | 
| 898 898 |  | 
| 899 | 
            -
                should  | 
| 899 | 
            +
                it 'should display fields for collection object' do
         | 
| 900 900 | 
             
                  addresses = @addresses + [mock_model("Address", :name => "Walter", :new_record? => false, :id => 50)]
         | 
| 901 901 | 
             
                  actual_html = standard_builder.fields_for(:addresses, addresses) do |child_form|
         | 
| 902 902 | 
             
                    child_form.label(:name) +
         | 
| @@ -915,7 +915,7 @@ describe "FormBuilder" do | |
| 915 915 | 
             
                  assert_has_tag('input', :type => 'checkbox', :id => 'user_addresses_attributes_2__destroy') { actual_html }
         | 
| 916 916 | 
             
                end
         | 
| 917 917 |  | 
| 918 | 
            -
                should  | 
| 918 | 
            +
                it 'should display fields for arbitrarily deep nested forms' do
         | 
| 919 919 | 
             
                  actual_html = standard_builder.fields_for :addresses do |child_form|
         | 
| 920 920 | 
             
                    child_form.fields_for(:businesses) do |second_child_form|
         | 
| 921 921 | 
             
                      second_child_form.label(:name) +
         | 
| @@ -927,7 +927,7 @@ describe "FormBuilder" do | |
| 927 927 | 
             
                  assert_has_tag('input', :type => 'text', :id => 'user_addresses_attributes_1_businesses_attributes_0_name', :name => 'user[addresses_attributes][1][businesses_attributes][0][name]') { actual_html }
         | 
| 928 928 | 
             
                end
         | 
| 929 929 |  | 
| 930 | 
            -
                should  | 
| 930 | 
            +
                it 'should display fields for nested forms with custom indices' do
         | 
| 931 931 | 
             
                  actual_html = standard_builder.fields_for :addresses do |child_form|
         | 
| 932 932 | 
             
                    html = ''.html_safe
         | 
| 933 933 | 
             
                    child_form.object.businesses.each_with_index do |business, i|
         | 
| @@ -944,7 +944,7 @@ describe "FormBuilder" do | |
| 944 944 | 
             
                  assert_has_tag('input', :type => 'text', :id => 'user_addresses_attributes_1_businesses_attributes_a_name', :name => 'user[addresses_attributes][1][businesses_attributes][a][name]') { actual_html }
         | 
| 945 945 | 
             
                end
         | 
| 946 946 |  | 
| 947 | 
            -
                should  | 
| 947 | 
            +
                it 'should display nested children fields in erb' do
         | 
| 948 948 | 
             
                  visit '/erb/fields_for'
         | 
| 949 949 | 
             
                  # Telephone
         | 
| 950 950 | 
             
                  assert_have_selector('label', :for => 'markup_user_telephone_attributes_number')
         | 
| @@ -961,7 +961,7 @@ describe "FormBuilder" do | |
| 961 961 | 
             
                  assert_have_no_selector('input', :type => 'checkbox', :id => 'markup_user_addresses_attributes_1__destroy')
         | 
| 962 962 | 
             
                end
         | 
| 963 963 |  | 
| 964 | 
            -
                should  | 
| 964 | 
            +
                it 'should display nested children fields in haml' do
         | 
| 965 965 | 
             
                  visit '/haml/fields_for'
         | 
| 966 966 | 
             
                  # Telephone
         | 
| 967 967 | 
             
                  assert_have_selector('label', :for => 'markup_user_telephone_attributes_number')
         | 
| @@ -978,7 +978,7 @@ describe "FormBuilder" do | |
| 978 978 | 
             
                  assert_have_no_selector('input', :type => 'checkbox', :id => 'markup_user_addresses_attributes_1__destroy')
         | 
| 979 979 | 
             
                end
         | 
| 980 980 |  | 
| 981 | 
            -
                should  | 
| 981 | 
            +
                it 'should display nested children fields in slim' do
         | 
| 982 982 | 
             
                  visit '/slim/fields_for'
         | 
| 983 983 | 
             
                  # Telephone
         | 
| 984 984 | 
             
                  assert_have_selector('label', :for => 'markup_user_telephone_attributes_number')
         | 
| @@ -1000,138 +1000,138 @@ describe "FormBuilder" do | |
| 1000 1000 | 
             
              # StandardFormBuilder
         | 
| 1001 1001 | 
             
              # ===========================
         | 
| 1002 1002 |  | 
| 1003 | 
            -
               | 
| 1004 | 
            -
                should  | 
| 1003 | 
            +
              describe 'for #text_field_block method' do
         | 
| 1004 | 
            +
                it 'should display correct text field block html' do
         | 
| 1005 1005 | 
             
                  actual_html = standard_builder.text_field_block(:first_name, :class => 'large', :caption => "FName")
         | 
| 1006 1006 | 
             
                  assert_has_tag('p label', :for => 'user_first_name', :content => "FName") { actual_html }
         | 
| 1007 1007 | 
             
                  assert_has_tag('p input.large[type=text]', :value => "Joe", :id => 'user_first_name', :name => 'user[first_name]') { actual_html }
         | 
| 1008 1008 | 
             
                end
         | 
| 1009 1009 |  | 
| 1010 | 
            -
                should  | 
| 1010 | 
            +
                it 'should display correct text field block in haml' do
         | 
| 1011 1011 | 
             
                  visit '/haml/form_for'
         | 
| 1012 1012 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_username', :content => "Nickname: ", :class => 'label'
         | 
| 1013 1013 | 
             
                  assert_have_selector '#demo2 p input', :type => 'text', :name => 'markup_user[username]', :id => 'markup_user_username'
         | 
| 1014 1014 | 
             
                end
         | 
| 1015 1015 |  | 
| 1016 | 
            -
                should  | 
| 1016 | 
            +
                it 'should display correct text field block in erb' do
         | 
| 1017 1017 | 
             
                  visit '/erb/form_for'
         | 
| 1018 1018 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_username', :content => "Nickname: ", :class => 'label'
         | 
| 1019 1019 | 
             
                  assert_have_selector '#demo2 p input', :type => 'text', :name => 'markup_user[username]', :id => 'markup_user_username'
         | 
| 1020 1020 | 
             
                end
         | 
| 1021 1021 |  | 
| 1022 | 
            -
                should  | 
| 1022 | 
            +
                it 'should display correct text field block in slim' do
         | 
| 1023 1023 | 
             
                  visit '/slim/form_for'
         | 
| 1024 1024 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_username', :content => "Nickname: ", :class => 'label'
         | 
| 1025 1025 | 
             
                  assert_have_selector '#demo2 p input', :type => 'text', :name => 'markup_user[username]', :id => 'markup_user_username'
         | 
| 1026 1026 | 
             
                end
         | 
| 1027 1027 | 
             
              end
         | 
| 1028 1028 |  | 
| 1029 | 
            -
               | 
| 1030 | 
            -
                should  | 
| 1029 | 
            +
              describe 'for #text_area_block method' do
         | 
| 1030 | 
            +
                it 'should display correct text area block html' do
         | 
| 1031 1031 | 
             
                  actual_html = standard_builder.text_area_block(:about, :class => 'large', :caption => "About Me")
         | 
| 1032 1032 | 
             
                  assert_has_tag('p label', :for => 'user_about', :content => "About Me") { actual_html }
         | 
| 1033 1033 | 
             
                  assert_has_tag('p textarea', :id => 'user_about', :name => 'user[about]') { actual_html }
         | 
| 1034 1034 | 
             
                end
         | 
| 1035 1035 |  | 
| 1036 | 
            -
                should  | 
| 1036 | 
            +
                it 'should display correct text area block in haml' do
         | 
| 1037 1037 | 
             
                  visit '/haml/form_for'
         | 
| 1038 1038 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_about', :content => "About: "
         | 
| 1039 1039 | 
             
                  assert_have_selector '#demo2 p textarea', :name => 'markup_user[about]', :id => 'markup_user_about'
         | 
| 1040 1040 | 
             
                end
         | 
| 1041 1041 |  | 
| 1042 | 
            -
                should  | 
| 1042 | 
            +
                it 'should display correct text area block in erb' do
         | 
| 1043 1043 | 
             
                  visit '/erb/form_for'
         | 
| 1044 1044 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_about', :content => "About: "
         | 
| 1045 1045 | 
             
                  assert_have_selector '#demo2 p textarea', :name => 'markup_user[about]', :id => 'markup_user_about'
         | 
| 1046 1046 | 
             
                end
         | 
| 1047 1047 |  | 
| 1048 | 
            -
                should  | 
| 1048 | 
            +
                it 'should display correct text area block in slim' do
         | 
| 1049 1049 | 
             
                  visit '/slim/form_for'
         | 
| 1050 1050 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_about', :content => "About: "
         | 
| 1051 1051 | 
             
                  assert_have_selector '#demo2 p textarea', :name => 'markup_user[about]', :id => 'markup_user_about'
         | 
| 1052 1052 | 
             
                end
         | 
| 1053 1053 | 
             
              end
         | 
| 1054 1054 |  | 
| 1055 | 
            -
               | 
| 1056 | 
            -
                should  | 
| 1055 | 
            +
              describe 'for #password_field_block method' do
         | 
| 1056 | 
            +
                it 'should display correct password field block html' do
         | 
| 1057 1057 | 
             
                  actual_html = standard_builder.password_field_block(:keycode, :class => 'large', :caption => "Code: ")
         | 
| 1058 1058 | 
             
                  assert_has_tag('p label', :for => 'user_keycode', :content => "Code: ") { actual_html }
         | 
| 1059 1059 | 
             
                  assert_has_tag('p input.large[type=password]', :id => 'user_keycode', :name => 'user[keycode]') { actual_html }
         | 
| 1060 1060 | 
             
                end
         | 
| 1061 1061 |  | 
| 1062 | 
            -
                should  | 
| 1062 | 
            +
                it 'should display correct password field block in haml' do
         | 
| 1063 1063 | 
             
                  visit '/haml/form_for'
         | 
| 1064 1064 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_code', :content => "Code: "
         | 
| 1065 1065 | 
             
                  assert_have_selector '#demo2 p input', :type => 'password', :name => 'markup_user[code]', :id => 'markup_user_code'
         | 
| 1066 1066 | 
             
                end
         | 
| 1067 1067 |  | 
| 1068 | 
            -
                should  | 
| 1068 | 
            +
                it 'should display correct password field block in erb' do
         | 
| 1069 1069 | 
             
                  visit '/erb/form_for'
         | 
| 1070 1070 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_code', :content => "Code: "
         | 
| 1071 1071 | 
             
                  assert_have_selector '#demo2 p input', :type => 'password', :name => 'markup_user[code]', :id => 'markup_user_code'
         | 
| 1072 1072 | 
             
                end
         | 
| 1073 1073 |  | 
| 1074 | 
            -
                should  | 
| 1074 | 
            +
                it 'should display correct password field block in slim' do
         | 
| 1075 1075 | 
             
                  visit '/slim/form_for'
         | 
| 1076 1076 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_code', :content => "Code: "
         | 
| 1077 1077 | 
             
                  assert_have_selector '#demo2 p input', :type => 'password', :name => 'markup_user[code]', :id => 'markup_user_code'
         | 
| 1078 1078 | 
             
                end
         | 
| 1079 1079 | 
             
              end
         | 
| 1080 1080 |  | 
| 1081 | 
            -
               | 
| 1082 | 
            -
                should  | 
| 1081 | 
            +
              describe 'for #file_field_block method' do
         | 
| 1082 | 
            +
                it 'should display correct file field block html' do
         | 
| 1083 1083 | 
             
                  actual_html = standard_builder.file_field_block(:photo, :class => 'large', :caption => "Photo: ")
         | 
| 1084 1084 | 
             
                  assert_has_tag('p label', :for => 'user_photo', :content => "Photo: ") { actual_html }
         | 
| 1085 1085 | 
             
                  assert_has_tag('p input.large[type=file]', :id => 'user_photo', :name => 'user[photo]') { actual_html }
         | 
| 1086 1086 | 
             
                end
         | 
| 1087 1087 |  | 
| 1088 | 
            -
                should  | 
| 1088 | 
            +
                it 'should display correct file field block in haml' do
         | 
| 1089 1089 | 
             
                  visit '/haml/form_for'
         | 
| 1090 1090 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_photo', :content => "Photo: "
         | 
| 1091 1091 | 
             
                  assert_have_selector '#demo2 p input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 1092 1092 | 
             
                end
         | 
| 1093 1093 |  | 
| 1094 | 
            -
                should  | 
| 1094 | 
            +
                it 'should display correct file field block in erb' do
         | 
| 1095 1095 | 
             
                  visit '/erb/form_for'
         | 
| 1096 1096 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_photo', :content => "Photo: "
         | 
| 1097 1097 | 
             
                  assert_have_selector '#demo2 p input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 1098 1098 | 
             
                end
         | 
| 1099 1099 |  | 
| 1100 | 
            -
                should  | 
| 1100 | 
            +
                it 'should display correct file field block in slim' do
         | 
| 1101 1101 | 
             
                  visit '/slim/form_for'
         | 
| 1102 1102 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_photo', :content => "Photo: "
         | 
| 1103 1103 | 
             
                  assert_have_selector '#demo2 p input.upload', :type => 'file', :name => 'markup_user[photo]', :id => 'markup_user_photo'
         | 
| 1104 1104 | 
             
                end
         | 
| 1105 1105 | 
             
              end
         | 
| 1106 1106 |  | 
| 1107 | 
            -
               | 
| 1108 | 
            -
                should  | 
| 1107 | 
            +
              describe 'for #check_box_block method' do
         | 
| 1108 | 
            +
                it 'should display correct check box block html' do
         | 
| 1109 1109 | 
             
                  actual_html = standard_builder.check_box_block(:remember_me, :class => 'large', :caption => "Remember session?")
         | 
| 1110 1110 | 
             
                  assert_has_tag('p label', :for => 'user_remember_me', :content => "Remember session?") { actual_html }
         | 
| 1111 1111 | 
             
                  assert_has_tag('p input.large[type=checkbox]', :id => 'user_remember_me', :name => 'user[remember_me]') { actual_html }
         | 
| 1112 1112 | 
             
                end
         | 
| 1113 1113 |  | 
| 1114 | 
            -
                should  | 
| 1114 | 
            +
                it 'should display correct check box block in haml' do
         | 
| 1115 1115 | 
             
                  visit '/haml/form_for'
         | 
| 1116 1116 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_remember_me', :content => "Remember me: "
         | 
| 1117 1117 | 
             
                  assert_have_selector '#demo2 p input.checker', :type => 'checkbox', :name => 'markup_user[remember_me]'
         | 
| 1118 1118 | 
             
                end
         | 
| 1119 1119 |  | 
| 1120 | 
            -
                should  | 
| 1120 | 
            +
                it 'should display correct check box block in erb' do
         | 
| 1121 1121 | 
             
                  visit '/erb/form_for'
         | 
| 1122 1122 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_remember_me', :content => "Remember me: "
         | 
| 1123 1123 | 
             
                  assert_have_selector '#demo2 p input.checker', :type => 'checkbox', :name => 'markup_user[remember_me]'
         | 
| 1124 1124 | 
             
                end
         | 
| 1125 1125 |  | 
| 1126 | 
            -
                should  | 
| 1126 | 
            +
                it 'should display correct check box block in slim' do
         | 
| 1127 1127 | 
             
                  visit '/slim/form_for'
         | 
| 1128 1128 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_remember_me', :content => "Remember me: "
         | 
| 1129 1129 | 
             
                  assert_have_selector '#demo2 p input.checker', :type => 'checkbox', :name => 'markup_user[remember_me]'
         | 
| 1130 1130 | 
             
                end
         | 
| 1131 1131 | 
             
              end
         | 
| 1132 1132 |  | 
| 1133 | 
            -
               | 
| 1134 | 
            -
                should  | 
| 1133 | 
            +
              describe 'for #select_block method' do
         | 
| 1134 | 
            +
                it 'should display correct select_block block html' do
         | 
| 1135 1135 | 
             
                  actual_html = standard_builder.select_block(:country, :options => ['USA', 'Canada'], :class => 'large', :caption => "Your country")
         | 
| 1136 1136 | 
             
                  assert_has_tag('p label', :for => 'user_country', :content => "Your country") { actual_html }
         | 
| 1137 1137 | 
             
                  assert_has_tag('p select', :id => 'user_country', :name => 'user[country]') { actual_html }
         | 
| @@ -1139,7 +1139,7 @@ describe "FormBuilder" do | |
| 1139 1139 | 
             
                  assert_has_tag('p select option', :content => 'Canada') { actual_html }
         | 
| 1140 1140 | 
             
                end
         | 
| 1141 1141 |  | 
| 1142 | 
            -
                should  | 
| 1142 | 
            +
                it 'should display correct select_block block in haml' do
         | 
| 1143 1143 | 
             
                  visit '/haml/form_for'
         | 
| 1144 1144 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_state', :content => "State: "
         | 
| 1145 1145 | 
             
                  assert_have_selector '#demo2 p select', :name => 'markup_user[state]', :id => 'markup_user_state'
         | 
| @@ -1147,57 +1147,57 @@ describe "FormBuilder" do | |
| 1147 1147 | 
             
                  assert_have_selector '#demo2 p select option',  :content => 'Texas'
         | 
| 1148 1148 | 
             
                end
         | 
| 1149 1149 |  | 
| 1150 | 
            -
                should  | 
| 1150 | 
            +
                it 'should display correct select_block block in erb' do
         | 
| 1151 1151 | 
             
                  visit '/erb/form_for'
         | 
| 1152 1152 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_state', :content => "State: "
         | 
| 1153 1153 | 
             
                  assert_have_selector '#demo2 p select', :name => 'markup_user[state]', :id => 'markup_user_state'
         | 
| 1154 1154 | 
             
                end
         | 
| 1155 1155 |  | 
| 1156 | 
            -
                should  | 
| 1156 | 
            +
                it 'should display correct select_block block in slim' do
         | 
| 1157 1157 | 
             
                  visit '/slim/form_for'
         | 
| 1158 1158 | 
             
                  assert_have_selector '#demo2 p label', :for => 'markup_user_state', :content => "State: "
         | 
| 1159 1159 | 
             
                  assert_have_selector '#demo2 p select', :name => 'markup_user[state]', :id => 'markup_user_state'
         | 
| 1160 1160 | 
             
                end
         | 
| 1161 1161 | 
             
              end
         | 
| 1162 1162 |  | 
| 1163 | 
            -
               | 
| 1164 | 
            -
                should  | 
| 1163 | 
            +
              describe 'for #submit_block method' do
         | 
| 1164 | 
            +
                it 'should display correct submit block html' do
         | 
| 1165 1165 | 
             
                  actual_html = standard_builder.submit_block("Update", :class => 'large')
         | 
| 1166 1166 | 
             
                  assert_has_tag('p input.large[type=submit]', :value => 'Update') { actual_html }
         | 
| 1167 1167 | 
             
                end
         | 
| 1168 1168 |  | 
| 1169 | 
            -
                should  | 
| 1169 | 
            +
                it 'should display correct submit block in haml' do
         | 
| 1170 1170 | 
             
                  visit '/haml/form_for'
         | 
| 1171 1171 | 
             
                  assert_have_selector '#demo2 p input', :type => 'submit', :class => 'button'
         | 
| 1172 1172 | 
             
                end
         | 
| 1173 1173 |  | 
| 1174 | 
            -
                should  | 
| 1174 | 
            +
                it 'should display correct submit block in erb' do
         | 
| 1175 1175 | 
             
                  visit '/erb/form_for'
         | 
| 1176 1176 | 
             
                  assert_have_selector '#demo2 p input', :type => 'submit', :class => 'button'
         | 
| 1177 1177 | 
             
                end
         | 
| 1178 1178 |  | 
| 1179 | 
            -
                should  | 
| 1179 | 
            +
                it 'should display correct submit block in slim' do
         | 
| 1180 1180 | 
             
                  visit '/slim/form_for'
         | 
| 1181 1181 | 
             
                  assert_have_selector '#demo2 p input', :type => 'submit', :class => 'button'
         | 
| 1182 1182 | 
             
                end
         | 
| 1183 1183 | 
             
              end
         | 
| 1184 1184 |  | 
| 1185 | 
            -
               | 
| 1186 | 
            -
                 | 
| 1185 | 
            +
              describe 'for #image_submit_block method' do
         | 
| 1186 | 
            +
                before do
         | 
| 1187 1187 | 
             
                  @stamp = stop_time_for_test.to_i
         | 
| 1188 1188 | 
             
                end
         | 
| 1189 1189 |  | 
| 1190 | 
            -
                should  | 
| 1190 | 
            +
                it 'should display correct image submit block html' do
         | 
| 1191 1191 | 
             
                  actual_html = standard_builder.image_submit_block("buttons/ok.png", :class => 'large')
         | 
| 1192 1192 | 
             
                  assert_has_tag('p input.large[type=image]', :src => "/images/buttons/ok.png?#{@stamp}") { actual_html }
         | 
| 1193 1193 | 
             
                end
         | 
| 1194 1194 |  | 
| 1195 | 
            -
                should  | 
| 1195 | 
            +
                it 'should display correct image submit block in haml' do
         | 
| 1196 1196 | 
             
                  visit '/haml/form_for'
         | 
| 1197 1197 | 
             
                  assert_have_selector '#demo2 p input', :type => 'image', :class => 'image', :src => "/images/buttons/ok.png?#{@stamp}"
         | 
| 1198 1198 | 
             
                end
         | 
| 1199 1199 |  | 
| 1200 | 
            -
                should  | 
| 1200 | 
            +
                it 'should display correct image submit block in slim' do
         | 
| 1201 1201 | 
             
                  visit '/slim/form_for'
         | 
| 1202 1202 | 
             
                  assert_have_selector '#demo2 p input', :type => 'image', :class => 'image', :src => "/images/buttons/ok.png?#{@stamp}"
         | 
| 1203 1203 | 
             
                end
         |