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