frameworks-capybara 0.2.19 → 0.2.20
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/CHANGES +6 -0
- data/Gemfile.lock +1 -1
- data/README.rdoc +2 -2
- data/lib/frameworks/cucumber.rb +15 -3
- data/lib/version.rb +1 -1
- data/spec/frameworks_cucumber_spec.rb +29 -3
- metadata +34 -35
data/CHANGES
ADDED
data/Gemfile.lock
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= Build Status {<img src="https://secure.travis-ci.org/
|
1
|
+
= Build Status {<img src="https://secure.travis-ci.org/bbc-frameworks/frameworks-capybara.png"/>}[https://secure.travis-ci.org/bbc-frameworks/frameworks-capybara]
|
2
2
|
|
3
3
|
= frameworks-capybara
|
4
4
|
|
@@ -74,7 +74,7 @@ This gem also sets up a number of 'base urls' for you to use in your tests, thes
|
|
74
74
|
@base_static_url
|
75
75
|
@base_open_url
|
76
76
|
|
77
|
-
Finally this gem contains some useful monkey-patches to core libraries e.g. Capybara, Selenium-Webdriver and Cucumber.
|
77
|
+
Finally this gem contains some useful monkey-patches to core libraries e.g. Capybara-Mechanize, Selenium-Webdriver and Cucumber.
|
78
78
|
|
79
79
|
== Release instructions
|
80
80
|
|
data/lib/frameworks/cucumber.rb
CHANGED
@@ -49,12 +49,24 @@ module Frameworks
|
|
49
49
|
end
|
50
50
|
|
51
51
|
proxy = ENV['http_proxy'] || ENV['HTTP_PROXY']
|
52
|
-
|
52
|
+
proxy_parts = proxy.scan(/(?:http:\/\/)?([^\:]+)(?::(\d+))?/) if proxy && !proxy.empty?
|
53
|
+
if proxy_parts && !proxy_parts.empty?
|
54
|
+
@proxy_host = proxy_parts[0][0]
|
55
|
+
if proxy_parts[0][1]
|
56
|
+
@proxy_port = proxy_parts[0][1]
|
57
|
+
else
|
58
|
+
@proxy_port = "80"
|
59
|
+
end
|
60
|
+
end
|
53
61
|
end
|
54
62
|
|
55
|
-
def validate_online(src)
|
63
|
+
def validate_online(src, validator_args = nil)
|
56
64
|
|
57
|
-
|
65
|
+
args = {:proxy_host => @proxy_host,:proxy_port => @proxy_port}
|
66
|
+
if(validator_args != nil)
|
67
|
+
args = args.merge(validator_args)
|
68
|
+
end
|
69
|
+
@validator = MarkupValidator.new(args)
|
58
70
|
|
59
71
|
@validator.set_doctype!(:xhtml)
|
60
72
|
begin
|
data/lib/version.rb
CHANGED
@@ -114,18 +114,44 @@ describe Frameworks::EnvHelper do
|
|
114
114
|
@open_base_url.should == 'https://open.foo.bbc.co.uk'
|
115
115
|
end
|
116
116
|
|
117
|
-
it "should be able to set proxy host correctly to use in tests using HTTP_PROXY env variable" do
|
117
|
+
it "should be able to set proxy host and port correctly to use in tests using HTTP_PROXY env variable" do
|
118
118
|
ENV['ENVIRONMENT'] = 'foo'
|
119
|
-
ENV['HTTP_PROXY'] = 'http://mycache.co.uk:
|
119
|
+
ENV['HTTP_PROXY'] = 'http://mycache.co.uk:8080'
|
120
120
|
generate_base_urls
|
121
121
|
@proxy_host.should == "mycache.co.uk"
|
122
|
+
@proxy_port.should == "8080"
|
122
123
|
end
|
123
124
|
|
124
125
|
it "should be able to set proxy host correctly to use in tests using http_proxy env variable" do
|
125
126
|
ENV['ENVIRONMENT'] = 'foo'
|
126
|
-
ENV['http_proxy'] = 'http://mycache.co.uk:
|
127
|
+
ENV['http_proxy'] = 'http://mycache.co.uk:8080'
|
128
|
+
generate_base_urls
|
129
|
+
@proxy_host.should == "mycache.co.uk"
|
130
|
+
@proxy_port.should == "8080"
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should be able to use 80 as default proxy port when none specified" do
|
134
|
+
ENV['ENVIRONMENT'] = 'foo'
|
135
|
+
ENV['http_proxy'] = 'http://mycache.co.uk'
|
127
136
|
generate_base_urls
|
128
137
|
@proxy_host.should == "mycache.co.uk"
|
138
|
+
@proxy_port.should == "80"
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should be able to handle an environment variable which doesn't have the protocol" do
|
142
|
+
ENV['ENVIRONMENT'] = 'foo'
|
143
|
+
ENV['http_proxy'] = 'mycache.co.uk'
|
144
|
+
generate_base_urls
|
145
|
+
@proxy_host.should == "mycache.co.uk"
|
146
|
+
@proxy_port.should == "80"
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should be able to have an empty http_proxy environment variable" do
|
150
|
+
ENV['ENVIRONMENT'] = 'foo'
|
151
|
+
ENV['http_proxy'] = ''
|
152
|
+
generate_base_urls
|
153
|
+
@proxy_host.should be_nil
|
154
|
+
@proxy_port.should be_nil
|
129
155
|
end
|
130
156
|
|
131
157
|
=begin
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frameworks-capybara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 63
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 20
|
10
|
+
version: 0.2.20
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- matt robbins
|
@@ -15,11 +15,10 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
19
|
-
default_executable:
|
18
|
+
date: 2012-12-07 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
22
|
none: false
|
24
23
|
requirements:
|
25
24
|
- - ">="
|
@@ -30,12 +29,12 @@ dependencies:
|
|
30
29
|
- 0
|
31
30
|
- 0
|
32
31
|
version: 1.0.0
|
32
|
+
prerelease: false
|
33
33
|
type: :runtime
|
34
34
|
name: capybara
|
35
|
-
|
36
|
-
version_requirements: *id001
|
35
|
+
requirement: *id001
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
|
-
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
39
|
requirements:
|
41
40
|
- - ">="
|
@@ -46,12 +45,12 @@ dependencies:
|
|
46
45
|
- 3
|
47
46
|
- 0
|
48
47
|
version: 0.3.0
|
48
|
+
prerelease: false
|
49
49
|
type: :runtime
|
50
50
|
name: capybara-mechanize
|
51
|
-
|
52
|
-
version_requirements: *id002
|
51
|
+
requirement: *id002
|
53
52
|
- !ruby/object:Gem::Dependency
|
54
|
-
|
53
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
55
54
|
none: false
|
56
55
|
requirements:
|
57
56
|
- - ">="
|
@@ -60,12 +59,12 @@ dependencies:
|
|
60
59
|
segments:
|
61
60
|
- 0
|
62
61
|
version: "0"
|
62
|
+
prerelease: false
|
63
63
|
type: :runtime
|
64
64
|
name: json
|
65
|
-
|
66
|
-
version_requirements: *id003
|
65
|
+
requirement: *id003
|
67
66
|
- !ruby/object:Gem::Dependency
|
68
|
-
|
67
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
69
68
|
none: false
|
70
69
|
requirements:
|
71
70
|
- - ">="
|
@@ -74,12 +73,12 @@ dependencies:
|
|
74
73
|
segments:
|
75
74
|
- 0
|
76
75
|
version: "0"
|
76
|
+
prerelease: false
|
77
77
|
type: :runtime
|
78
78
|
name: headless
|
79
|
-
|
80
|
-
version_requirements: *id004
|
79
|
+
requirement: *id004
|
81
80
|
- !ruby/object:Gem::Dependency
|
82
|
-
|
81
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
83
82
|
none: false
|
84
83
|
requirements:
|
85
84
|
- - ">="
|
@@ -88,12 +87,12 @@ dependencies:
|
|
88
87
|
segments:
|
89
88
|
- 0
|
90
89
|
version: "0"
|
90
|
+
prerelease: false
|
91
91
|
type: :runtime
|
92
92
|
name: capybara-celerity
|
93
|
-
|
94
|
-
version_requirements: *id005
|
93
|
+
requirement: *id005
|
95
94
|
- !ruby/object:Gem::Dependency
|
96
|
-
|
95
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
97
96
|
none: false
|
98
97
|
requirements:
|
99
98
|
- - ">="
|
@@ -102,12 +101,12 @@ dependencies:
|
|
102
101
|
segments:
|
103
102
|
- 0
|
104
103
|
version: "0"
|
104
|
+
prerelease: false
|
105
105
|
type: :runtime
|
106
106
|
name: w3c_validators
|
107
|
-
|
108
|
-
version_requirements: *id006
|
107
|
+
requirement: *id006
|
109
108
|
- !ruby/object:Gem::Dependency
|
110
|
-
|
109
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
111
110
|
none: false
|
112
111
|
requirements:
|
113
112
|
- - ">="
|
@@ -118,12 +117,12 @@ dependencies:
|
|
118
117
|
- 10
|
119
118
|
- 5
|
120
119
|
version: 0.10.5
|
120
|
+
prerelease: false
|
121
121
|
type: :runtime
|
122
122
|
name: cucumber
|
123
|
-
|
124
|
-
version_requirements: *id007
|
123
|
+
requirement: *id007
|
125
124
|
- !ruby/object:Gem::Dependency
|
126
|
-
|
125
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
127
126
|
none: false
|
128
127
|
requirements:
|
129
128
|
- - ">="
|
@@ -132,12 +131,12 @@ dependencies:
|
|
132
131
|
segments:
|
133
132
|
- 0
|
134
133
|
version: "0"
|
134
|
+
prerelease: false
|
135
135
|
type: :development
|
136
136
|
name: rake
|
137
|
-
|
138
|
-
version_requirements: *id008
|
137
|
+
requirement: *id008
|
139
138
|
- !ruby/object:Gem::Dependency
|
140
|
-
|
139
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
141
140
|
none: false
|
142
141
|
requirements:
|
143
142
|
- - ">="
|
@@ -148,10 +147,10 @@ dependencies:
|
|
148
147
|
- 0
|
149
148
|
- 0
|
150
149
|
version: 1.0.0
|
150
|
+
prerelease: false
|
151
151
|
type: :development
|
152
152
|
name: rspec
|
153
|
-
|
154
|
-
version_requirements: *id009
|
153
|
+
requirement: *id009
|
155
154
|
description: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
|
156
155
|
email:
|
157
156
|
- mcrobbins@gmail.com
|
@@ -166,6 +165,7 @@ files:
|
|
166
165
|
- .gitignore
|
167
166
|
- .rspec
|
168
167
|
- .travis.yml
|
168
|
+
- CHANGES
|
169
169
|
- Gemfile
|
170
170
|
- Gemfile.lock
|
171
171
|
- LICENSE.txt
|
@@ -190,7 +190,6 @@ files:
|
|
190
190
|
- spec/profiles.ini
|
191
191
|
- spec/spec_helper.rb
|
192
192
|
- spec/unit_test_monkeypatches.rb
|
193
|
-
has_rdoc: true
|
194
193
|
homepage:
|
195
194
|
licenses: []
|
196
195
|
|
@@ -220,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
219
|
requirements: []
|
221
220
|
|
222
221
|
rubyforge_project:
|
223
|
-
rubygems_version: 1.
|
222
|
+
rubygems_version: 1.8.24
|
224
223
|
signing_key:
|
225
224
|
specification_version: 3
|
226
225
|
summary: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
|