Add spec, all specs were made to pass.

This commit is contained in:
Keita Urashima 2010-05-20 20:43:16 +09:00
parent 741c31bf2b
commit 37e3012009
4 changed files with 9 additions and 3 deletions

View File

@ -112,7 +112,7 @@ class Capybara::Driver::RackTest < Capybara::Driver::Base
def params(button)
params = {}
node.xpath(".//input[@type!='radio' and @type!='checkbox' and @type!='submit']").map do |input|
node.xpath(".//input[not(@type) or (@type!='radio' and @type!='checkbox' and @type!='submit')]").map do |input|
merge_param!(params, input['name'].to_s, input['value'].to_s)
end
node.xpath(".//textarea").map do |textarea|

View File

@ -25,7 +25,7 @@ class Capybara::Driver::Selenium < Capybara::Driver::Base
end
def set(value)
if tag_name == 'textarea' or (tag_name == 'input' and %w(text password hidden file).include?(type))
if tag_name == 'textarea' or (tag_name == 'input' and [nil, 'text', 'password', 'hidden', 'file'].include?(type))
node.clear
node.send_keys(value.to_s)
elsif tag_name == 'input' and type == 'radio'

View File

@ -59,6 +59,12 @@ shared_examples_for "fill_in" do
extract_results(@session)['schmooo'].should == 'Schmooo is the game'
end
it "should fill in a field without a type" do
@session.fill_in('Phone', :with => '+1 555 7022')
@session.click_button('awesome')
extract_results(@session)['phone'].should == '+1 555 7022'
end
it "should fill in a password field by name" do
@session.fill_in('form[password]', :with => 'supasikrit')
@session.click_button('awesome')

View File

@ -46,7 +46,7 @@
<p>
<label for="form_phone">Phone</label>
<input type="text" name="form[phone]" value="+1 555 7021" id="form_phone"/>
<input name="form[phone]" value="+1 555 7021" id="form_phone"/>
</p>
<p>