capybara-envjs 0.1.3 → 0.1.4
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 +6 -0
- data/Rakefile +2 -2
- data/lib/capybara/driver/envjs_driver.rb +14 -6
- data/lib/capybara/envjs.rb +1 -1
- metadata +5 -5
data/CHANGELOG.rdoc
CHANGED
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.
|
12
|
+
self.version = "0.1.4"
|
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
18
|
['capybara', '>= 0.3.8'],
|
19
|
-
['envjs', '>= 0.3.
|
19
|
+
['envjs', '>= 0.3.6']
|
20
20
|
]
|
21
21
|
|
22
22
|
self.extra_dev_deps = [
|
@@ -144,7 +144,6 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
|
|
144
144
|
|
145
145
|
def initialize(app)
|
146
146
|
|
147
|
-
|
148
147
|
@app_host = (ENV["CAPYBARA_APP_HOST"] || Capybara.app_host || "http://example.com")
|
149
148
|
|
150
149
|
@rack_test = @app_host =~ %r{^https?://[^.]*\.?example\.(com|org)}
|
@@ -183,9 +182,6 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
|
|
183
182
|
browser.master["connection"] = @connection = proc do |*args|
|
184
183
|
xhr, responseHandler, data = *args
|
185
184
|
url = xhr.url
|
186
|
-
if url.index(app_host) == 0
|
187
|
-
url.slice! 0..(app_host.length-1)
|
188
|
-
end
|
189
185
|
params = data || {}
|
190
186
|
method = xhr["method"].downcase.to_sym
|
191
187
|
e = env;
|
@@ -196,12 +192,18 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
|
|
196
192
|
e["CONTENT_LENGTH"] ||= params.length
|
197
193
|
end
|
198
194
|
begin
|
195
|
+
if url.index(app_host) == 0
|
196
|
+
url.slice! 0..(app_host.length-1)
|
197
|
+
end
|
199
198
|
# puts "send #{method} #{url} #{params}"
|
200
199
|
send method, url, params, e
|
201
200
|
while response.status == 302
|
202
201
|
params = {}
|
203
202
|
method = :get
|
204
203
|
url = response.location
|
204
|
+
if url.index(app_host) == 0
|
205
|
+
url.slice! 0..(app_host.length-1)
|
206
|
+
end
|
205
207
|
# puts "redirect #{method} #{url} #{params}"
|
206
208
|
send method, url, params, e
|
207
209
|
end
|
@@ -216,7 +218,12 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
|
|
216
218
|
xhr.status = response.status
|
217
219
|
xhr.responseText = response.body
|
218
220
|
xhr.readyState = 4
|
219
|
-
url
|
221
|
+
if url.index(app_host) == 0
|
222
|
+
url.slice! 0..(app_host.length-1)
|
223
|
+
end
|
224
|
+
if url.slice(0..0) == "/"
|
225
|
+
url = app_host+url
|
226
|
+
end
|
220
227
|
xhr.__url = url
|
221
228
|
responseHandler.call
|
222
229
|
end
|
@@ -247,7 +254,8 @@ class Capybara::Driver::Envjs < Capybara::Driver::Base
|
|
247
254
|
@hash = hash
|
248
255
|
end
|
249
256
|
def [] key
|
250
|
-
@hash[key.downcase
|
257
|
+
pair = @hash.find { |pair| pair[0].downcase == key.downcase }
|
258
|
+
pair && pair[1]
|
251
259
|
end
|
252
260
|
end
|
253
261
|
|
data/lib/capybara/envjs.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
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-05-
|
17
|
+
date: 2010-05-31 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -41,8 +41,8 @@ dependencies:
|
|
41
41
|
segments:
|
42
42
|
- 0
|
43
43
|
- 3
|
44
|
-
-
|
45
|
-
version: 0.3.
|
44
|
+
- 6
|
45
|
+
version: 0.3.6
|
46
46
|
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|