From fda0894f76fafc5198f55dea5acfbf0046b12b08 Mon Sep 17 00:00:00 2001 From: Matthew Horan Date: Mon, 18 Feb 2013 11:08:40 -0500 Subject: [PATCH] Implement Browser#title --- lib/capybara/webkit/browser.rb | 4 ++++ lib/capybara/webkit/driver.rb | 4 ++++ spec/driver_spec.rb | 12 ++++++++++++ src/CommandFactory.cpp | 1 + src/Title.cpp | 11 +++++++++++ src/Title.h | 9 +++++++++ src/find_command.h | 1 + src/webkit_server.pro | 6 ++++-- 8 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/Title.cpp create mode 100644 src/Title.h diff --git a/lib/capybara/webkit/browser.rb b/lib/capybara/webkit/browser.rb index 0718ee6..beeec2e 100644 --- a/lib/capybara/webkit/browser.rb +++ b/lib/capybara/webkit/browser.rb @@ -22,6 +22,10 @@ module Capybara::Webkit command("Header", key, value) end + def title + command("Title") + end + def find(query) command("Find", query).split(",") end diff --git a/lib/capybara/webkit/driver.rb b/lib/capybara/webkit/driver.rb index ffb41d6..5ac0971 100644 --- a/lib/capybara/webkit/driver.rb +++ b/lib/capybara/webkit/driver.rb @@ -41,6 +41,10 @@ module Capybara::Webkit browser.header(key, value) end + def title + browser.title + end + def execute_script(script) value = browser.execute_script script value.empty? ? nil : value diff --git a/spec/driver_spec.rb b/spec/driver_spec.rb index a8a62cc..c87c23c 100644 --- a/spec/driver_spec.rb +++ b/spec/driver_spec.rb @@ -41,6 +41,7 @@ describe Capybara::Webkit::Driver do <<-HTML + Title @@ -150,6 +151,12 @@ describe Capybara::Webkit::Driver do driver.status_code.should == 200 end end + + it "returns the document title" do + driver.within_frame("f") do + driver.title.should == "Title" + end + end end context "error iframe app" do @@ -299,6 +306,7 @@ describe Capybara::Webkit::Driver do driver_for_html(<<-HTML) + Title