diff --git a/lib/capybara/driver/celerity_driver.rb b/lib/capybara/driver/celerity_driver.rb index 5f619af9..90de1315 100644 --- a/lib/capybara/driver/celerity_driver.rb +++ b/lib/capybara/driver/celerity_driver.rb @@ -5,11 +5,7 @@ class Capybara::Driver::Celerity < Capybara::Driver::Base end def [](name) - value = if name.to_sym == :class - native.class_name - else - native.send(name.to_sym) - end + value = native.attribute_value(name.to_sym) return value if value and not value.to_s.empty? end @@ -17,7 +13,7 @@ class Capybara::Driver::Celerity < Capybara::Driver::Base if tag_name == "select" and native.multiple? find(".//option[@selected]").map { |n| n.value || n.text } else - self[:value] + native.value end end diff --git a/lib/capybara/spec/driver.rb b/lib/capybara/spec/driver.rb index 9727bf6e..516d94f0 100644 --- a/lib/capybara/spec/driver.rb +++ b/lib/capybara/spec/driver.rb @@ -42,6 +42,7 @@ shared_examples_for 'driver' do it "should extract node attributes" do @driver.find('//a')[0][:class].should == 'simple' @driver.find('//a')[1][:id].should == 'foo' + @driver.find('//input')[0][:type].should == 'text' end it "should extract boolean node attributes" do