capybara-envjs 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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