capybara-envjs 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,10 @@
1
+ === 0.1.3 / 2010-05-19
2
+
3
+ * alway return headers from doc ... the rack request might not be current
4
+ * handle off-site scripts, pass redirects to envjs
5
+ * match escaping from capy 0.3.8
6
+ * don't assume cucumber if no world ... some people had trouble
7
+
1
8
  === 0.1.2 / 2010-04-22
2
9
 
3
10
  * Spelling corrections in the README.rdoc [Brian Cardarella]
data/Rakefile CHANGED
@@ -9,14 +9,14 @@ Hoe.plugins.delete :rubyforge
9
9
 
10
10
  Hoe.spec 'capybara-envjs' do
11
11
  developer 'Steven Parkes', 'smparkes@smparkes.net'
12
- self.version = "0.1.2"
12
+ self.version = "0.1.3"
13
13
 
14
14
  self.readme_file = 'README.rdoc'
15
15
  self.extra_rdoc_files = Dir['*.rdoc']
16
16
 
17
17
  self.extra_deps = [
18
- ['capybara', '>= 0.3.6'],
19
- ['envjs', '>= 0.3.0']
18
+ ['capybara', '>= 0.3.8'],
19
+ ['envjs', '>= 0.3.5']
20
20
  ]
21
21
 
22
22
  self.extra_dev_deps = [
@@ -67,7 +67,8 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
67
67
  end
68
68
 
69
69
  def select(option)
70
- option_node = all_unfiltered("//option[text()='#{option}']") || all_unfiltered("//option[contains(.,'#{option}')]")
70
+ escaped = Capybara::XPath.escape(option)
71
+ option_node = all_unfiltered("//option[text()=#{escaped}]") || all_unfiltered("//option[contains(.,#{escaped})]")
71
72
  option_node[0].node.selected = true
72
73
  rescue Exception => e
73
74
  options = all_unfiltered(".//option").map { |o| "'#{o.text}'" }.join(', ')
@@ -80,7 +81,8 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
80
81
  end
81
82
 
82
83
  begin
83
- option_node = (all_unfiltered("//option[text()='#{option}']") || all_unfiltered("//option[contains(.,'#{option}')]")).first
84
+ escaped = Capybara::XPath.escape(option)
85
+ option_node = (all_unfiltered("//option[text()=#{escaped}]") || all_unfiltered("//option[contains(.,#{escaped})]")).first
84
86
  option_node.node.selected = false
85
87
  rescue Exception => e
86
88
  options = all_unfiltered(".//option").map { |o| "'#{o.text}'" }.join(', ')
@@ -164,8 +166,14 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
164
166
  browser.master["load"] = proc do |*args|
165
167
  if args.size == 2 and args[1].to_s != "[object split_global]"
166
168
  file, window = *args
167
- get(file, {}, env)
168
- window["evaluate"].call response.body
169
+ body = nil
170
+ if file.index(app_host) == 0
171
+ get(file, {}, env)
172
+ body = response.body
173
+ else
174
+ body = Net::HTTP.get(URI.parse(file))
175
+ end
176
+ window["evaluate"].call body
169
177
  else
170
178
  master_load.call *args
171
179
  end
@@ -208,6 +216,8 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
208
216
  xhr.status = response.status
209
217
  xhr.responseText = response.body
210
218
  xhr.readyState = 4
219
+ url = app_host+url
220
+ xhr.__url = url
211
221
  responseHandler.call
212
222
  end
213
223
  end
@@ -242,7 +252,7 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
242
252
  end
243
253
 
244
254
  def response_headers
245
- rack_test? ? response.headers : Headers.new(browser["window"]["document"]["__headers__"])
255
+ Headers.new(browser["window"]["document"]["__headers__"])
246
256
  end
247
257
 
248
258
  def find(selector)
@@ -1,6 +1,6 @@
1
1
  require 'capybara'
2
2
  require 'capybara/driver/envjs_driver'
3
3
 
4
- if Object.const_defined? :Cucumber
4
+ if Object.const_defined? :Cucumber and Object.respond_to? :World
5
5
  require 'capybara/envjs/cucumber'
6
6
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 2
9
- version: 0.1.2
8
+ - 3
9
+ version: 0.1.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Steven Parkes
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-22 00:00:00 -07:00
17
+ date: 2010-05-19 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -27,8 +27,8 @@ dependencies:
27
27
  segments:
28
28
  - 0
29
29
  - 3
30
- - 6
31
- version: 0.3.6
30
+ - 8
31
+ version: 0.3.8
32
32
  type: :runtime
33
33
  version_requirements: *id001
34
34
  - !ruby/object:Gem::Dependency
@@ -41,8 +41,8 @@ dependencies:
41
41
  segments:
42
42
  - 0
43
43
  - 3
44
- - 0
45
- version: 0.3.0
44
+ - 5
45
+ version: 0.3.5
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
48
  - !ruby/object:Gem::Dependency