From a759712c7f882c35801ef00910423ef1ed19b945 Mon Sep 17 00:00:00 2001 From: Jonathan Tron Date: Fri, 20 May 2011 20:59:12 +0200 Subject: [PATCH] Force encoding to UTF-8 for response on ruby 1.9.x, as we receive UTF-8 QString only from server. This fix the failing spec related to UTF-8 encoding checks. It's not the best solution, but TCPSocket on Ruby 1.9.x defaults to ASCII-8bit, the server sends responses as UTF-8 encoded string only. --- lib/capybara/driver/webkit/browser.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/capybara/driver/webkit/browser.rb b/lib/capybara/driver/webkit/browser.rb index 346a6bfc..c4bc1756 100755 --- a/lib/capybara/driver/webkit/browser.rb +++ b/lib/capybara/driver/webkit/browser.rb @@ -103,7 +103,12 @@ def check def read_response response_length = @socket.gets.to_i - @socket.read(response_length) + response = @socket.read(response_length) + if response.respond_to?(:encoding) + response.force_encoding "UTF-8" + else + response + end end end end