From 9971edbf21822d455caefde7f7fed92cd4fe6ab9 Mon Sep 17 00:00:00 2001 From: Joshua Krall Date: Wed, 13 Jul 2011 16:03:18 -0500 Subject: [PATCH] email fields behave like text fields wrt the set function --- spec/driver_spec.rb | 6 ++++++ src/capybara.js | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/spec/driver_spec.rb b/spec/driver_spec.rb index 505383c..79be5d3 100644 --- a/spec/driver_spec.rb +++ b/spec/driver_spec.rb @@ -503,6 +503,7 @@ describe Capybara::Driver::Webkit do
+ @@ -559,6 +560,11 @@ describe Capybara::Driver::Webkit do subject.find("//li").map(&:text).should == keyevents end + it "triggers email input events" do + subject.find("//input[@type='email']").first.set(newtext) + subject.find("//li").map(&:text).should == keyevents + end + it "triggers radio input events" do subject.find("//input[@type='radio']").first.set(true) subject.find("//li").map(&:text).should == %w(click change) diff --git a/src/capybara.js b/src/capybara.js index 17f2ac9..a2de159 100644 --- a/src/capybara.js +++ b/src/capybara.js @@ -106,7 +106,7 @@ Capybara = { set: function(index, value) { var node = this.nodes[index]; var type = (node.type || node.tagName).toLowerCase(); - if (type == "text" || type == "textarea" || type == "password") { + if (type == "text" || type == "textarea" || type == "password" || type == "email") { this.trigger(index, "focus"); node.value = ""; var maxLength = this.attribute(index, "maxlength"),