Strip and normalize spaces. Fixes #112 #145

This commit is contained in:
Matthew Mongeau 2011-09-23 11:57:09 -04:00
parent ff0a6e769b
commit 6d92f35d98
2 changed files with 9 additions and 1 deletions

View File

@ -1,7 +1,10 @@
class Capybara::Driver::Webkit
class Node < Capybara::Driver::Node
NBSP = "\xC2\xA0"
NBSP.force_encoding("UTF-8") if NBSP.respond_to?(:force_encoding)
def text
invoke "text"
invoke("text").gsub(NBSP, ' ').gsub(/\s+/u, ' ').strip
end
def [](name)

View File

@ -159,6 +159,7 @@ describe Capybara::Driver::Webkit do
</style>
</head>
<body>
<div class='normalize'>Spaces&nbsp;not&nbsp;normalized&nbsp;</div>
<div id="display_none">
<div id="invisible">Can't see me</div>
</div>
@ -202,6 +203,10 @@ describe Capybara::Driver::Webkit do
subject.find("//p").first.text.should == "hello"
end
it "normalizes a node's text" do
subject.find("//div[contains(@class, 'normalize')]").first.text.should == "Spaces not normalized"
end
it "returns the current URL" do
port = subject.instance_variable_get("@rack_server").port
subject.current_url.should == "http://127.0.0.1:#{port}/hello/world?success=true"