Remove all warnings of invalid CSS selector

This commit is contained in:
Rafael Mendonça França 2014-09-08 17:19:40 -03:00
parent 56f3c0ccd1
commit 12e6d89b77
13 changed files with 142 additions and 142 deletions

View File

@ -263,15 +263,15 @@ class BuilderTest < ActionView::TestCase
collection = [Tag.new(1, 'Tag 1'), Tag.new(2, 'Tag 2')]
with_collection_check_boxes @user, :tag_ids, collection, :id, :name
assert_select 'form input#user_tag_ids_1[type=checkbox][value=1]'
assert_select 'form input#user_tag_ids_2[type=checkbox][value=2]'
assert_select 'form input#user_tag_ids_1[type=checkbox][value="1"]'
assert_select 'form input#user_tag_ids_2[type=checkbox][value="2"]'
end
test "collection check box generates only one hidden field for the entire collection, to ensure something will be sent back to the server when posting an empty collection" do
collection = [Tag.new(1, 'Tag 1'), Tag.new(2, 'Tag 2')]
with_collection_check_boxes @user, :tag_ids, collection, :id, :name
assert_select "form input[type=hidden][name='user[tag_ids][]'][value=]", count: 1
assert_select 'form input[type=hidden][name="user[tag_ids][]"][value=""]', count: 1
end
test "collection check box accepts a collection and generate a serie of checkboxes with labels for label method" do
@ -301,36 +301,36 @@ class BuilderTest < ActionView::TestCase
with_collection_check_boxes user, :tag_ids, collection, :first, :last
assert_select 'form input[type=checkbox][value=1][checked=checked]'
assert_select 'form input[type=checkbox][value=3][checked=checked]'
assert_no_select 'form input[type=checkbox][value=2][checked=checked]'
assert_select 'form input[type=checkbox][value="1"][checked=checked]'
assert_select 'form input[type=checkbox][value="3"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="2"][checked=checked]'
end
test "collection check box accepts selected values as :checked option" do
collection = (1..3).map { |i| [i, "Tag #{i}"] }
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, checked: [1, 3]
assert_select 'form input[type=checkbox][value=1][checked=checked]'
assert_select 'form input[type=checkbox][value=3][checked=checked]'
assert_no_select 'form input[type=checkbox][value=2][checked=checked]'
assert_select 'form input[type=checkbox][value="1"][checked=checked]'
assert_select 'form input[type=checkbox][value="3"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="2"][checked=checked]'
end
test "collection check boxes accepts selected string values as :checked option" do
collection = (1..3).map { |i| [i, "Category #{i}"] }
with_collection_check_boxes :user, :category_ids, collection, :first, :last, checked: ['1', '3']
assert_select 'input[type=checkbox][value=1][checked=checked]'
assert_select 'input[type=checkbox][value=3][checked=checked]'
assert_no_select 'input[type=checkbox][value=2][checked=checked]'
assert_select 'input[type=checkbox][value="1"][checked=checked]'
assert_select 'input[type=checkbox][value="3"][checked=checked]'
assert_no_select 'input[type=checkbox][value="2"][checked=checked]'
end
test "collection check box accepts a single checked value" do
collection = (1..3).map { |i| [i, "Tag #{i}"] }
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, checked: 3
assert_select 'form input[type=checkbox][value=3][checked=checked]'
assert_no_select 'form input[type=checkbox][value=1][checked=checked]'
assert_no_select 'form input[type=checkbox][value=2][checked=checked]'
assert_select 'form input[type=checkbox][value="3"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="1"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="2"][checked=checked]'
end
test "collection check box accepts selected values as :checked option and override the model values" do
@ -338,44 +338,44 @@ class BuilderTest < ActionView::TestCase
@user.tag_ids = [2]
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, checked: [1, 3]
assert_select 'form input[type=checkbox][value=1][checked=checked]'
assert_select 'form input[type=checkbox][value=3][checked=checked]'
assert_no_select 'form input[type=checkbox][value=2][checked=checked]'
assert_select 'form input[type=checkbox][value="1"][checked=checked]'
assert_select 'form input[type=checkbox][value="3"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="2"][checked=checked]'
end
test "collection check box accepts multiple disabled items" do
collection = (1..3).map { |i| [i, "Tag #{i}"] }
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, disabled: [1, 3]
assert_select 'form input[type=checkbox][value=1][disabled=disabled]'
assert_select 'form input[type=checkbox][value=3][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value=2][disabled=disabled]'
assert_select 'form input[type=checkbox][value="1"][disabled=disabled]'
assert_select 'form input[type=checkbox][value="3"][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value="2"][disabled=disabled]'
end
test "collection check box accepts single disable item" do
collection = (1..3).map { |i| [i, "Tag #{i}"] }
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, disabled: 1
assert_select 'form input[type=checkbox][value=1][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value=3][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value=2][disabled=disabled]'
assert_select 'form input[type=checkbox][value="1"][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value="3"][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value="2"][disabled=disabled]'
end
test "collection check box accepts a proc to disabled items" do
collection = (1..3).map { |i| [i, "Tag #{i}"] }
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, disabled: proc { |i| i.first == 1 }
assert_select 'form input[type=checkbox][value=1][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value=3][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value=2][disabled=disabled]'
assert_select 'form input[type=checkbox][value="1"][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value="3"][disabled=disabled]'
assert_no_select 'form input[type=checkbox][value="2"][disabled=disabled]'
end
test "collection check box accepts html options" do
collection = [[1, 'Tag 1'], [2, 'Tag 2']]
with_collection_check_boxes @user, :tag_ids, collection, :first, :last, {}, class: 'check'
assert_select 'form input.check[type=checkbox][value=1]'
assert_select 'form input.check[type=checkbox][value=2]'
assert_select 'form input.check[type=checkbox][value="1"]'
assert_select 'form input.check[type=checkbox][value="2"]'
end
test "collection check box with fields for" do
@ -386,8 +386,8 @@ class BuilderTest < ActionView::TestCase
end
end
assert_select 'form input#user_post_tag_ids_1[type=checkbox][value=1]'
assert_select 'form input#user_post_tag_ids_2[type=checkbox][value=2]'
assert_select 'form input#user_post_tag_ids_1[type=checkbox][value="1"]'
assert_select 'form input#user_post_tag_ids_2[type=checkbox][value="2"]'
assert_select 'form label.collection_check_boxes[for=user_post_tag_ids_1]', 'Tag 1'
assert_select 'form label.collection_check_boxes[for=user_post_tag_ids_2]', 'Tag 2'

View File

@ -87,7 +87,7 @@ class FormHelperTest < ActionView::TestCase
test 'passes options to SimpleForm' do
with_concat_form_for(:user, url: '/account', html: { id: 'my_form' })
assert_select 'form#my_form'
assert_select 'form[action=/account]'
assert_select 'form[action="/account"]'
end
test 'form_for yields an instance of FormBuilder' do

View File

@ -244,7 +244,7 @@ class IsolatedLabelTest < ActionView::TestCase
test 'label uses i18n to find required text' do
store_translations(:en, simple_form: { required: { text: 'campo requerido' } }) do
with_label_for @user, :name, :string
assert_select 'form label abbr[title=campo requerido]', '*'
assert_select 'form label abbr[title="campo requerido"]', '*'
end
end

View File

@ -46,9 +46,9 @@ class AssociationTest < ActionView::TestCase
with_association_for @user, :tags
assert_select 'form select.select#user_tag_ids'
assert_select 'form select option[value=1]', 'Tag 1'
assert_select 'form select option[value=2]', 'Tag 2'
assert_select 'form select option[value=3]', 'Tag 3'
assert_select 'form select option[value="1"]', 'Tag 1'
assert_select 'form select option[value="2"]', 'Tag 2'
assert_select 'form select option[value="3"]', 'Tag 3'
value.verify
end
@ -59,9 +59,9 @@ class AssociationTest < ActionView::TestCase
with_association_for @user, :tags, preload: false
assert_select 'form select.select#user_tag_ids'
assert_select 'form select option[value=1]', 'Tag 1'
assert_select 'form select option[value=2]', 'Tag 2'
assert_select 'form select option[value=3]', 'Tag 3'
assert_select 'form select option[value="1"]', 'Tag 1'
assert_select 'form select option[value="2"]', 'Tag 2'
assert_select 'form select option[value="3"]', 'Tag 3'
assert_raises MockExpectationError do
value.verify
@ -74,9 +74,9 @@ class AssociationTest < ActionView::TestCase
with_association_for @user, :company
assert_select 'form select.select#user_company_id'
assert_select 'form select option[value=1]', 'Company 1'
assert_select 'form select option[value=2]', 'Company 2'
assert_select 'form select option[value=3]', 'Company 3'
assert_select 'form select option[value="1"]', 'Company 1'
assert_select 'form select option[value="2"]', 'Company 2'
assert_select 'form select option[value="3"]', 'Company 3'
assert_raises MockExpectationError do
value.verify
@ -87,15 +87,15 @@ class AssociationTest < ActionView::TestCase
test 'builder creates a select for belongs_to associations' do
with_association_for @user, :company
assert_select 'form select.select#user_company_id'
assert_select 'form select option[value=1]', 'Company 1'
assert_select 'form select option[value=2]', 'Company 2'
assert_select 'form select option[value=3]', 'Company 3'
assert_select 'form select option[value="1"]', 'Company 1'
assert_select 'form select option[value="2"]', 'Company 2'
assert_select 'form select option[value="3"]', 'Company 3'
end
test 'builder creates blank select if collection is nil' do
with_association_for @user, :company, collection: nil
assert_select 'form select.select#user_company_id'
assert_no_select 'form select option[value=1]', 'Company 1'
assert_no_select 'form select option[value="1"]', 'Company 1'
end
test 'builder allows collection radio for belongs_to associations' do
@ -108,17 +108,17 @@ class AssociationTest < ActionView::TestCase
test 'builder allows collection to have a proc as a condition' do
with_association_for @user, :extra_special_company
assert_select 'form select.select#user_extra_special_company_id'
assert_select 'form select option[value=1]'
assert_no_select 'form select option[value=2]'
assert_no_select 'form select option[value=3]'
assert_select 'form select option[value="1"]'
assert_no_select 'form select option[value="2"]'
assert_no_select 'form select option[value="3"]'
end
test 'builder allows collection to have a scope' do
with_association_for @user, :special_pictures
assert_select 'form select.select#user_special_picture_ids'
assert_select 'form select option[value=3]', '3'
assert_no_select 'form select option[value=1]'
assert_no_select 'form select option[value=2]'
assert_select 'form select option[value="3"]', '3'
assert_no_select 'form select option[value="1"]'
assert_no_select 'form select option[value="2"]'
end
test 'builder marks the record which already belongs to the user' do
@ -133,17 +133,17 @@ class AssociationTest < ActionView::TestCase
test 'builder uses reflection conditions to find collection' do
with_association_for @user, :special_company
assert_select 'form select.select#user_special_company_id'
assert_select 'form select option[value=1]'
assert_no_select 'form select option[value=2]'
assert_no_select 'form select option[value=3]'
assert_select 'form select option[value="1"]'
assert_no_select 'form select option[value="2"]'
assert_no_select 'form select option[value="3"]'
end
test 'builder allows overriding collection to association input' do
with_association_for @user, :company, include_blank: false,
collection: [Company.new(999, 'Teste')]
assert_select 'form select.select#user_company_id'
assert_no_select 'form select option[value=1]'
assert_select 'form select option[value=999]', 'Teste'
assert_no_select 'form select option[value="1"]'
assert_select 'form select option[value="999"]', 'Teste'
assert_select 'form select option', count: 1
end
@ -158,31 +158,31 @@ class AssociationTest < ActionView::TestCase
with_association_for @user, :pictures
assert_select 'form select.select#user_picture_ids'
assert_select 'form select[multiple=multiple]'
assert_select 'form select option[value=1]', 'Picture 1'
assert_select 'form select option[value=2]', 'Picture 2'
assert_select 'form select option[value=3]', 'Picture 3'
assert_select 'form select option[value="1"]', 'Picture 1'
assert_select 'form select option[value="2"]', 'Picture 2'
assert_select 'form select option[value="3"]', 'Picture 3'
end
test 'builder creates a select with multiple options for collection associations' do
with_association_for @user, :tags
assert_select 'form select.select#user_tag_ids'
assert_select 'form select[multiple=multiple]'
assert_select 'form select option[value=1]', 'Tag 1'
assert_select 'form select option[value=2]', 'Tag 2'
assert_select 'form select option[value=3]', 'Tag 3'
assert_select 'form select option[value="1"]', 'Tag 1'
assert_select 'form select option[value="2"]', 'Tag 2'
assert_select 'form select option[value="3"]', 'Tag 3'
end
test 'builder allows size to be overwritten for collection associations' do
with_association_for @user, :tags, input_html: { size: 10 }
assert_select 'form select[multiple=multiple][size=10]'
assert_select 'form select[multiple=multiple][size="10"]'
end
test 'builder marks all selected records which already belongs to user' do
@user.tag_ids = [1, 2]
with_association_for @user, :tags
assert_select 'form select option[value=1][selected=selected]'
assert_select 'form select option[value=2][selected=selected]'
assert_no_select 'form select option[value=3][selected=selected]'
assert_select 'form select option[value="1"][selected=selected]'
assert_select 'form select option[value="2"][selected=selected]'
assert_no_select 'form select option[value="3"][selected=selected]'
end
test 'builder allows a collection of check boxes for collection associations' do
@ -196,9 +196,9 @@ class AssociationTest < ActionView::TestCase
test 'builder marks all selected records for collection boxes' do
@user.tag_ids = [1, 2]
with_association_for @user, :tags, as: :check_boxes
assert_select 'form input[type=checkbox][value=1][checked=checked]'
assert_select 'form input[type=checkbox][value=2][checked=checked]'
assert_no_select 'form input[type=checkbox][value=3][checked=checked]'
assert_select 'form input[type=checkbox][value="1"][checked=checked]'
assert_select 'form input[type=checkbox][value="2"][checked=checked]'
assert_no_select 'form input[type=checkbox][value="3"][checked=checked]'
end
test 'builder with collection support giving collection and item wrapper tags' do

View File

@ -10,31 +10,31 @@ class ButtonTest < ActionView::TestCase
test 'builder creates buttons' do
with_button_for :post, :submit
assert_select 'form input.button[type=submit][value=Save Post]'
assert_select 'form input.button[type=submit][value="Save Post"]'
end
test 'builder creates buttons with options' do
with_button_for :post, :submit, class: 'my_button'
assert_select 'form input.button.my_button[type=submit][value=Save Post]'
assert_select 'form input.button.my_button[type=submit][value="Save Post"]'
end
test 'builder does not modify the options hash' do
options = { class: 'my_button' }
with_button_for :post, :submit, options
assert_select 'form input.button.my_button[type=submit][value=Save Post]'
assert_select 'form input.button.my_button[type=submit][value="Save Post"]'
assert_equal({ class: 'my_button' }, options)
end
test 'builder creates buttons for records' do
@user.new_record!
with_button_for @user, :submit
assert_select 'form input.button[type=submit][value=Create User]'
assert_select 'form input.button[type=submit][value="Create User"]'
end
test "builder uses the default class from the configuration" do
swap SimpleForm, button_class: 'btn' do
with_button_for :post, :submit
assert_select 'form input.btn[type=submit][value=Save Post]'
assert_select 'form input.btn[type=submit][value="Save Post"]'
end
end

View File

@ -76,7 +76,7 @@ class InputFieldTest < ActionView::TestCase
f.input_field :name
end
assert_select 'input.string[placeholder=Name goes here]'
assert_select 'input.string[placeholder="Name goes here"]'
end
end
@ -85,7 +85,7 @@ class InputFieldTest < ActionView::TestCase
f.input_field :age, as: :integer
end
assert_select 'input[min=18]'
assert_select 'input[min="18"]'
end
test 'builder input_field does not use pattern component by default' do
@ -125,7 +125,7 @@ class InputFieldTest < ActionView::TestCase
f.input_field :name, as: :string
end
assert_select 'input.string[maxlength=25]'
assert_select 'input.string[maxlength="25"]'
end
test 'builder collection input_field generates input tag with a clean HTML' do

View File

@ -99,7 +99,7 @@ class CollectionSelectInputTest < ActionView::TestCase
test 'input automatically sets include blank' do
with_input_for @user, :age, :select, collection: 18..30
assert_select 'select option[value=]', ''
assert_select 'select option[value=""]', ''
end
test 'input translates include blank when set to :translate' do
@ -107,7 +107,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, include_blank: :translate
assert_select 'select option[value=]', 'Rather not say'
assert_select 'select option[value=""]', 'Rather not say'
end
end
@ -116,7 +116,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say',
} } }) do
with_input_for @user, :age, :select, collection: 18..30, include_blank: :translate
assert_select 'select option[value=]', 'Rather not say'
assert_select 'select option[value=""]', 'Rather not say'
end
end
@ -125,7 +125,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, include_blank: 'Young at heart'
assert_select 'select option[value=]', 'Young at heart'
assert_select 'select option[value=""]', 'Young at heart'
end
end
@ -134,7 +134,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say'
} } }) do
with_input_for @user, :age, :select, collection: 18..30
assert_select 'select option[value=]', ''
assert_select 'select option[value=""]', ''
end
end
@ -143,7 +143,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, include_blank: true
assert_select 'select option[value=]', ''
assert_select 'select option[value=""]', ''
end
end
@ -152,23 +152,23 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Rather not say'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, include_blank: false
assert_no_select 'select option[value=]'
assert_no_select 'select option[value=""]'
end
end
test 'input does not set include blank if otherwise is told' do
with_input_for @user, :age, :select, collection: 18..30, include_blank: false
assert_no_select 'select option[value=]'
assert_no_select 'select option[value=""]'
end
test 'input does not set include blank if prompt is given' do
with_input_for @user, :age, :select, collection: 18..30, prompt: "Please select foo"
assert_no_select 'select option[value=]', ''
assert_no_select 'select option[value=""]', ''
end
test 'input does not set include blank if multiple is given' do
with_input_for @user, :age, :select, collection: 18..30, input_html: { multiple: true }
assert_no_select 'select option[value=]', ''
assert_no_select 'select option[value=""]', ''
end
test 'input translates prompt when set to :translate' do
@ -176,7 +176,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Select age:'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, prompt: :translate
assert_select 'select option[value=]', 'Select age:'
assert_select 'select option[value=""]', 'Select age:'
end
end
@ -185,7 +185,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Select age:',
} } }) do
with_input_for @user, :age, :select, collection: 18..30, prompt: :translate
assert_select 'select option[value=]', 'Select age:'
assert_select 'select option[value=""]', 'Select age:'
end
end
@ -194,7 +194,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Select age:'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, prompt: 'Do it:'
assert_select 'select option[value=]', 'Do it:'
assert_select 'select option[value=""]', 'Do it:'
end
end
@ -203,7 +203,7 @@ class CollectionSelectInputTest < ActionView::TestCase
age: 'Select age:'
} } }) do
with_input_for @user, :age, :select, collection: 18..30, prompt: false
assert_no_select 'select option[value=]'
assert_no_select 'select option[value=""]'
end
end
@ -212,15 +212,15 @@ class CollectionSelectInputTest < ActionView::TestCase
prompt: 'Select value:'
} }) do
with_input_for @user, :age, :select, collection: 18..30, prompt: :translate
assert_select 'select option[value=]', "Select value:"
assert_select 'select option[value=""]', "Select value:"
end
end
test 'input detects label and value on collections' do
users = [User.build(id: 1, name: "Jose"), User.build(id: 2, name: "Carlos")]
with_input_for @user, :description, :select, collection: users
assert_select 'select option[value=1]', 'Jose'
assert_select 'select option[value=2]', 'Carlos'
assert_select 'select option[value="1"]', 'Jose'
assert_select 'select option[value="2"]', 'Carlos'
end
test 'input disables the anothers components when the option is a object' do

View File

@ -102,7 +102,7 @@ class DateTimeInputWithoutHtml5Test < ActionView::TestCase
test 'input is able to pass :default to date select' do
with_input_for @user, :born_at, :date, default: Date.today, html5: false
assert_select "select.date option[value=#{Date.today.year}][selected=selected]"
assert_select "select.date option[value='#{Date.today.year}'][selected=selected]"
end
test 'input generates a date input for date attributes if HTML5 compatibility is explicitly enabled' do

View File

@ -109,8 +109,8 @@ class GroupedCollectionSelectInputTest < ActionView::TestCase
assert_select 'select.grouped_select#user_tag_ids' do
assert_select 'optgroup[label=Second]' do
assert_select 'option[value=7]', 'Bond'
assert_select 'option[value=47]', 'Hitman'
assert_select 'option[value="7"]', 'Bond'
assert_select 'option[value="47"]', 'Hitman'
end
end
end
@ -155,14 +155,14 @@ class GroupedCollectionSelectInputTest < ActionView::TestCase
collection: tag_groups, group_method: :tags
assert_select 'select.grouped_select#user_tag_ids' do
assert_select 'optgroup[label=Group of Tags]' do
assert_select 'option[value=1]', 'Tag 1'
assert_select 'option[value=2]', 'Tag 2'
assert_select 'optgroup[label="Group of Tags"]' do
assert_select 'option[value="1"]', 'Tag 1'
assert_select 'option[value="2"]', 'Tag 2'
end
assert_select 'optgroup[label=Other group]' do
assert_select 'option[value=3]', 'Tag 3'
assert_select 'option[value=4]', 'Tag 4'
assert_select 'optgroup[label="Other group"]' do
assert_select 'option[value="3"]', 'Tag 3'
assert_select 'option[value="4"]', 'Tag 4'
end
end
end

View File

@ -32,7 +32,7 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[min]'
with_input_for @other_validating_user, :age, :integer
assert_select 'input[min=18]'
assert_select 'input[min="18"]'
end
test 'input infers min value from integer attributes with greater than validation using symbol' do
@ -40,15 +40,15 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[min]'
with_input_for @validating_user, :amount, :integer
assert_select 'input[min=11]'
assert_select 'input[min="11"]'
end
test 'input infers min value from integer attributes with greater than or equal to validation using symbol' do
with_input_for @validating_user, :attempts, :float
assert_select 'input[min=1]'
assert_select 'input[min="1"]'
with_input_for @validating_user, :attempts, :integer
assert_select 'input[min=1]'
assert_select 'input[min="1"]'
end
test 'input infers min value from integer attributes with greater than validation using proc' do
@ -56,15 +56,15 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[min]'
with_input_for @other_validating_user, :amount, :integer
assert_select 'input[min=20]'
assert_select 'input[min="20"]'
end
test 'input infers min value from integer attributes with greater than or equal to validation using proc' do
with_input_for @other_validating_user, :attempts, :float
assert_select 'input[min=19]'
assert_select 'input[min="19"]'
with_input_for @other_validating_user, :attempts, :integer
assert_select 'input[min=19]'
assert_select 'input[min="19"]'
end
test 'input infers max value from attributes with less than validation' do
@ -72,7 +72,7 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[max]'
with_input_for @other_validating_user, :age, :integer
assert_select 'input[max=99]'
assert_select 'input[max="99"]'
end
test 'input infers max value from attributes with less than validation using symbol' do
@ -80,15 +80,15 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[max]'
with_input_for @validating_user, :amount, :integer
assert_select 'input[max=99]'
assert_select 'input[max="99"]'
end
test 'input infers max value from attributes with less than or equal to validation using symbol' do
with_input_for @validating_user, :attempts, :float
assert_select 'input[max=100]'
assert_select 'input[max="100"]'
with_input_for @validating_user, :attempts, :integer
assert_select 'input[max=100]'
assert_select 'input[max="100"]'
end
test 'input infers max value from attributes with less than validation using proc' do
@ -96,15 +96,15 @@ class NumericInputTest < ActionView::TestCase
assert_no_select 'input[max]'
with_input_for @other_validating_user, :amount, :integer
assert_select 'input[max=118]'
assert_select 'input[max="118"]'
end
test 'input infers max value from attributes with less than or equal to validation using proc' do
with_input_for @other_validating_user, :attempts, :float
assert_select 'input[max=119]'
assert_select 'input[max="119"]'
with_input_for @other_validating_user, :attempts, :integer
assert_select 'input[max=119]'
assert_select 'input[max="119"]'
end
test 'input has step value of any except for integer attribute' do
@ -112,7 +112,7 @@ class NumericInputTest < ActionView::TestCase
assert_select 'input[step="any"]'
with_input_for @validating_user, :age, :integer
assert_select 'input[step=1]'
assert_select 'input[step="1"]'
end
test 'numeric input does not generate placeholder by default' do
@ -122,7 +122,7 @@ class NumericInputTest < ActionView::TestCase
test 'numeric input accepts the placeholder option' do
with_input_for @user, :age, :integer, placeholder: 'Put in your age'
assert_select 'input.integer[placeholder=Put in your age]'
assert_select 'input.integer[placeholder="Put in your age"]'
end
test 'numeric input uses i18n to translate placeholder text' do
@ -130,7 +130,7 @@ class NumericInputTest < ActionView::TestCase
age: 'Age goes here'
} } }) do
with_input_for @user, :age, :integer
assert_select 'input.integer[placeholder=Age goes here]'
assert_select 'input.integer[placeholder="Age goes here"]'
end
end
@ -156,12 +156,12 @@ class NumericInputTest < ActionView::TestCase
[:integer, :float, :decimal].each do |type|
test "#{type} input infers min value from attributes with greater than or equal validation" do
with_input_for @validating_user, :age, type
assert_select 'input[min=18]'
assert_select 'input[min="18"]'
end
test "#{type} input infers the max value from attributes with less than or equal to validation" do
with_input_for @validating_user, :age, type
assert_select 'input[max=99]'
assert_select 'input[max="99"]'
end
end

View File

@ -6,13 +6,13 @@ class PriorityInputTest < ActionView::TestCase
with_input_for @user, :country, :country
assert_select 'select#user_country'
assert_select 'select option[value=Brazil]', 'Brazil'
assert_no_select 'select option[value=][disabled=disabled]'
assert_no_select 'select option[value=""][disabled=disabled]'
end
test 'input generates a country select with SimpleForm default' do
swap SimpleForm, country_priority: [ 'Brazil' ] do
with_input_for @user, :country, :country
assert_select 'select option[value=][disabled=disabled]'
assert_select 'select option[value=""][disabled=disabled]'
end
end
@ -20,19 +20,19 @@ class PriorityInputTest < ActionView::TestCase
with_input_for @user, :time_zone, :time_zone
assert_select 'select#user_time_zone'
assert_select 'select option[value=Brasilia]', '(GMT-03:00) Brasilia'
assert_no_select 'select option[value=][disabled=disabled]'
assert_no_select 'select option[value=""][disabled=disabled]'
end
test 'input generates a time zone select field with default' do
with_input_for @user, :time_zone, :time_zone, default: 'Brasilia'
assert_select 'select option[value=Brasilia][selected=selected]'
assert_no_select 'select option[value=]'
assert_no_select 'select option[value=""]'
end
test 'input generates a time zone select using options priority' do
with_input_for @user, :time_zone, :time_zone, priority: /Brasilia/
assert_select 'select option[value=][disabled=disabled]'
assert_no_select 'select option[value=]', /^$/
assert_select 'select option[value=""][disabled=disabled]'
assert_no_select 'select option[value=""]', /^$/
end
test 'priority input does not generate invalid required html attribute' do

View File

@ -4,7 +4,7 @@ require 'test_helper'
class StringInputTest < ActionView::TestCase
test 'input maps text field to string attribute' do
with_input_for @user, :name, :string
assert_select "input#user_name[type=text][name='user[name]'][value=New in SimpleForm!]"
assert_select 'input#user_name[type=text][name="user[name]"][value="New in SimpleForm!"]'
end
test 'input generates a password field for password attributes' do
@ -14,7 +14,7 @@ class StringInputTest < ActionView::TestCase
test 'input gets maxlength from column definition for string attributes' do
with_input_for @user, :name, :string
assert_select 'input.string[maxlength=100]'
assert_select 'input.string[maxlength="100"]'
end
test 'input does not get maxlength from column without size definition for string attributes' do
@ -24,12 +24,12 @@ class StringInputTest < ActionView::TestCase
test 'input gets maxlength from column definition for password attributes' do
with_input_for @user, :password, :password
assert_select 'input.password[type=password][maxlength=100]'
assert_select 'input.password[type=password][maxlength="100"]'
end
test 'input infers maxlength column definition from validation when present' do
with_input_for @validating_user, :name, :string
assert_select 'input.string[maxlength=25]'
assert_select 'input.string[maxlength="25"]'
end
test 'input does not get maxlength from validation when tokenizer present' do
@ -39,13 +39,13 @@ class StringInputTest < ActionView::TestCase
test 'input gets maxlength from validation when :is option present' do
with_input_for @validating_user, :home_picture, :string
assert_select 'input.string[maxlength=12]'
assert_select 'input.string[maxlength="12"]'
end
test 'input maxlength is the column limit plus one to make room for decimal point' do
with_input_for @user, :credit_limit, :string
assert_select "input.string[maxlength=16]"
assert_select 'input.string[maxlength="16"]'
end
test 'input does not generate placeholder by default' do
@ -55,12 +55,12 @@ class StringInputTest < ActionView::TestCase
test 'input accepts the placeholder option' do
with_input_for @user, :name, :string, placeholder: 'Put in some text'
assert_select 'input.string[placeholder=Put in some text]'
assert_select 'input.string[placeholder="Put in some text"]'
end
test 'input generates a password field for password attributes that accept placeholder' do
with_input_for @user, :password, :password, placeholder: 'Password Confirmation'
assert_select 'input[type=password].password[placeholder=Password Confirmation]#user_password'
assert_select 'input[type=password].password[placeholder="Password Confirmation"]#user_password'
end
test 'input does not infer pattern from attributes by default' do
@ -100,7 +100,7 @@ class StringInputTest < ActionView::TestCase
name: 'Name goes here'
} } }) do
with_input_for @user, :name, :string
assert_select 'input.string[placeholder=Name goes here]'
assert_select 'input.string[placeholder="Name goes here"]'
end
end
@ -110,7 +110,7 @@ class StringInputTest < ActionView::TestCase
} } }) do
swap SimpleForm, i18n_scope: :my_scope do
with_input_for @user, :name, :string
assert_select 'input.string[placeholder=Name goes here]'
assert_select 'input.string[placeholder="Name goes here"]'
end
end
end

View File

@ -9,16 +9,16 @@ class TextInputTest < ActionView::TestCase
test 'input generates a text area for text attributes that accept placeholder' do
with_input_for @user, :description, :text, placeholder: 'Put in some text'
assert_select 'textarea.text[placeholder=Put in some text]'
assert_select 'textarea.text[placeholder="Put in some text"]'
end
test 'input gets maxlength from column definition for text attributes' do
with_input_for @user, :description, :text
assert_select 'textarea.text[maxlength=200]'
assert_select 'textarea.text[maxlength="200"]'
end
test 'input infers maxlength column definition from validation when present for text attributes' do
with_input_for @validating_user, :description, :text
assert_select 'textarea.text[maxlength=50]'
assert_select 'textarea.text[maxlength="50"]'
end
end