mediawiki_selenium 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.yardopts +1 -0
- data/README.md +8 -0
- data/lib/mediawiki_selenium/support/env.rb +6 -2
- data/lib/mediawiki_selenium/support/hooks.rb +6 -4
- data/lib/mediawiki_selenium/support/modules/sauce_helper.rb +13 -0
- data/lib/mediawiki_selenium/support/modules/strict_pending.rb +23 -0
- data/lib/mediawiki_selenium/version.rb +1 -1
- data/mediawiki_selenium.gemspec +3 -0
- metadata +33 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4c692019a252a5d2657b99d2d72d06d542dfe8f
|
4
|
+
data.tar.gz: 628e9a09986b6e4e7e54e39199ec1271492ffdcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 096ba74ed2efcc7ed0616b0242aa72f93fa39021ceeb21ee0c6628245e349433bb21567ff6fc477058cbd6f548785ae0edfb38e4b8125649a610e7f6c1217a3e
|
7
|
+
data.tar.gz: 5f29f41550abac61ca15c3c52804ee7ed3266b8cec19e0de11012f94ce483c50e0efa8b96c319dfb2d00a74e6f5dbf9841958e5cee05be16b910088ab4a9feb9
|
data/.gitignore
CHANGED
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--title "MediaWiki Selenium"
|
data/README.md
CHANGED
@@ -112,12 +112,15 @@ Repositories that use the gem:
|
|
112
112
|
1. ArticleFeedbackv5: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/ArticleFeedbackv5), [GitHub](https://github.com/wikimedia/mediawiki-extensions-ArticleFeedbackv5), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-ArticleFeedbackv5)
|
113
113
|
1. CirrusSearch: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/CirrusSearch), [GitHub](https://github.com/wikimedia/mediawiki-extensions-CirrusSearch), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-CirrusSearch)
|
114
114
|
1. ContentTranslation: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/ContentTranslation), [GitHub](https://github.com/wikimedia/mediawiki-extensions-ContentTranslation), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-ContentTranslation)
|
115
|
+
1. Echo: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Echo), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Echo), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Echo)
|
115
116
|
1. Flow: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Flow), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Flow), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Flow)
|
117
|
+
1. GettingStarted: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/GettingStarted), [GitHub](https://github.com/wikimedia/mediawiki-extensions-GettingStarted), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-GettingStarted)
|
116
118
|
1. Math: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Math), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Math), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Math)
|
117
119
|
1. mediawiki/core: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/core), [GitHub](https://github.com/wikimedia/mediawiki-core), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-core)
|
118
120
|
1. MobileFrontend: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MobileFrontend), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MobileFrontend), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MobileFrontend)
|
119
121
|
1. MultimediaViewer: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MultimediaViewer), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MultimediaViewer), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MultimediaViewer)
|
120
122
|
1. PageTriage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/PageTriage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-PageTriage), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-PageTriage)
|
123
|
+
1. PdfHandler: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/PdfHandler), [GitHub](https://github.com/wikimedia/mediawiki-extensions-PdfHandler), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-PdfHandler)
|
121
124
|
1. Translate: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Translate), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Translate), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Translate)
|
122
125
|
1. TwnMainPage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/TwnMainPage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-TwnMainPage), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-TwnMainPage)
|
123
126
|
1. UniversalLanguageSelector: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/UniversalLanguageSelector), [GitHub](https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-UniversalLanguageSelector)
|
@@ -139,6 +142,11 @@ See https://www.mediawiki.org/wiki/Gerrit
|
|
139
142
|
|
140
143
|
## Release notes
|
141
144
|
|
145
|
+
### 0.4.0 2014-09-23
|
146
|
+
|
147
|
+
* Stricter pending behavior for falsely passing steps
|
148
|
+
* Fixed interoperability of custom browser settings and Sauce sessions
|
149
|
+
|
142
150
|
### 0.3.2 2014-08-26
|
143
151
|
|
144
152
|
* Bumped runtime dependency for mediawiki_api
|
@@ -17,9 +17,13 @@ require "rest_client"
|
|
17
17
|
require "watir-webdriver"
|
18
18
|
|
19
19
|
require "mediawiki_selenium/support/modules/api_helper"
|
20
|
+
require "mediawiki_selenium/support/modules/sauce_helper"
|
21
|
+
require "mediawiki_selenium/support/modules/strict_pending"
|
20
22
|
|
21
23
|
World(PageObject::PageFactory)
|
22
24
|
World(MediawikiSelenium::ApiHelper)
|
25
|
+
World(MediawikiSelenium::SauceHelper)
|
26
|
+
World(MediawikiSelenium::StrictPending)
|
23
27
|
|
24
28
|
def browser(test_name, configuration = nil)
|
25
29
|
if environment == :saucelabs
|
@@ -76,10 +80,10 @@ def local_browser(configuration)
|
|
76
80
|
set_cookie(browser)
|
77
81
|
browser
|
78
82
|
end
|
79
|
-
def sauce_api(json)
|
83
|
+
def sauce_api(json, session_id)
|
80
84
|
RestClient::Request.execute(
|
81
85
|
:method => :put,
|
82
|
-
:url => "https://saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{
|
86
|
+
:url => "https://saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{session_id}",
|
83
87
|
:user => ENV["SAUCE_ONDEMAND_USERNAME"],
|
84
88
|
:password => ENV["SAUCE_ONDEMAND_ACCESS_KEY"],
|
85
89
|
:headers => {:content_type => "application/json"},
|
@@ -64,8 +64,9 @@ Before do |scenario|
|
|
64
64
|
else
|
65
65
|
@browser = browser(test_name(scenario))
|
66
66
|
$browser = @browser # CirrusSearch and VisualEditor need this
|
67
|
-
$session_id = @browser.driver.instance_variable_get(:@bridge).session_id
|
68
67
|
end
|
68
|
+
|
69
|
+
$session_id = sauce_session_id
|
69
70
|
end
|
70
71
|
|
71
72
|
After do |scenario|
|
@@ -80,9 +81,10 @@ After do |scenario|
|
|
80
81
|
end
|
81
82
|
|
82
83
|
if environment == :saucelabs
|
83
|
-
|
84
|
-
sauce_api(%Q{{"
|
85
|
-
sauce_api(%Q{{"
|
84
|
+
sid = $session_id || sauce_session_id
|
85
|
+
sauce_api(%Q{{"passed": #{scenario.passed?}}}, sid)
|
86
|
+
sauce_api(%Q{{"public": true}}, sid)
|
87
|
+
sauce_api(%Q{{"build": #{ENV["BUILD_NUMBER"]}}}, sid) if ENV["BUILD_NUMBER"]
|
86
88
|
end
|
87
89
|
|
88
90
|
if @browser
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module MediawikiSelenium
|
2
|
+
module SauceHelper
|
3
|
+
# The current Sauce session ID.
|
4
|
+
#
|
5
|
+
# @return [String]
|
6
|
+
#
|
7
|
+
def sauce_session_id
|
8
|
+
@session_id ||= @browser.driver.instance_variable_get(:@bridge).session_id if @browser
|
9
|
+
rescue StandardError
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module MediawikiSelenium
|
2
|
+
# Implements a stricter version of `pending` that fails when a given block
|
3
|
+
# of expectations passes, alerting the user that the step definition should
|
4
|
+
# no longer be pending.
|
5
|
+
#
|
6
|
+
module StrictPending
|
7
|
+
class Pending < StandardError
|
8
|
+
end
|
9
|
+
|
10
|
+
# Delegates to Cucumber's pending but re-raises any `Cucumber::Pending`
|
11
|
+
# exception as a strict failure.
|
12
|
+
#
|
13
|
+
def pending(*args)
|
14
|
+
super
|
15
|
+
rescue Cucumber::Pending => e
|
16
|
+
if block_given?
|
17
|
+
raise Pending, e.message
|
18
|
+
else
|
19
|
+
raise e
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/mediawiki_selenium.gemspec
CHANGED
@@ -25,4 +25,7 @@ makes it easy to update the shared code.}
|
|
25
25
|
spec.add_runtime_dependency "rest-client", "~> 1.6", ">= 1.6.7"
|
26
26
|
spec.add_runtime_dependency "rspec-expectations", "~> 2.14", ">= 2.14.4"
|
27
27
|
spec.add_runtime_dependency "syntax", "~> 1.2", ">= 1.2.0"
|
28
|
+
|
29
|
+
spec.add_development_dependency "redcarpet"
|
30
|
+
spec.add_development_dependency "yard"
|
28
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediawiki_selenium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris McMahon
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2014-
|
16
|
+
date: 2014-09-23 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: cucumber
|
@@ -169,6 +169,34 @@ dependencies:
|
|
169
169
|
- - ">="
|
170
170
|
- !ruby/object:Gem::Version
|
171
171
|
version: 1.2.0
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
name: redcarpet
|
174
|
+
requirement: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
type: :development
|
180
|
+
prerelease: false
|
181
|
+
version_requirements: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
- !ruby/object:Gem::Dependency
|
187
|
+
name: yard
|
188
|
+
requirement: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
type: :development
|
194
|
+
prerelease: false
|
195
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
172
200
|
description: |-
|
173
201
|
Several MediaWiki extensions share code that makes it easy to run Selenium tests. This gem
|
174
202
|
makes it easy to update the shared code.
|
@@ -185,6 +213,7 @@ extra_rdoc_files: []
|
|
185
213
|
files:
|
186
214
|
- ".gitignore"
|
187
215
|
- ".gitreview"
|
216
|
+
- ".yardopts"
|
188
217
|
- CREDITS
|
189
218
|
- Gemfile
|
190
219
|
- LICENSE
|
@@ -198,6 +227,8 @@ files:
|
|
198
227
|
- lib/mediawiki_selenium/support/env.rb
|
199
228
|
- lib/mediawiki_selenium/support/hooks.rb
|
200
229
|
- lib/mediawiki_selenium/support/modules/api_helper.rb
|
230
|
+
- lib/mediawiki_selenium/support/modules/sauce_helper.rb
|
231
|
+
- lib/mediawiki_selenium/support/modules/strict_pending.rb
|
201
232
|
- lib/mediawiki_selenium/support/modules/url_module.rb
|
202
233
|
- lib/mediawiki_selenium/support/pages/api_page.rb
|
203
234
|
- lib/mediawiki_selenium/support/pages/login_page.rb
|