mediawiki_selenium 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7c254febdd9a19e2c569107e857d55ce498eb774
4
- data.tar.gz: 14379d05b00662b9974b440c260a9895322ac04f
3
+ metadata.gz: 67af225480dde4d5ac5bacbe01d631d2334859ec
4
+ data.tar.gz: 28454c89b3d8f8550953e18fe9b7762a0333d669
5
5
  SHA512:
6
- metadata.gz: 2c80c8502e39c4ba821f7a5f1e215b49f1856780b21ea31973466aff10f8dd3c3b27bc90173f0b34e58c04f4b2c9ff51473ee34e56a41e01766becdc9be2b111
7
- data.tar.gz: 05af65d9ae63e8d4be00884a1c0a018a38e54646df0f7b6534c6fc94eb5bd5f2d3b8fac9745f93824240636ae41755fe161874e011654e542dc9b991efafee29
6
+ metadata.gz: bbcef005071dba80b554fc05c2a61a9fb20a1fb00cafd576fb9cacfb6debe2aae41caf3d571983a1b367c7f693d640998507d3d786051e34e0854f2e032498db
7
+ data.tar.gz: a98d7297808c1d75ec7ee16c46d7763e14609e9ce6d43f1298ba641452dd536e5612322b925a2dc7fc6388313334a71302fc86a89da7197534175f957d8fb27d
data/.yardopts CHANGED
@@ -1,2 +1,5 @@
1
+ --readme README.md
2
+ --charset utf-8
1
3
  --title "MediaWiki Selenium"
2
4
  --markup markdown
5
+ 'lib/**/*.rb' - '*.md'
data/README.md CHANGED
@@ -37,7 +37,7 @@ Create a `Gemfile` in the root of your MediaWiki-related project that
37
37
  specifies the version of `mediawiki_selenium` you wish to use (typically the
38
38
  latest version).
39
39
 
40
- gem 'mediawiki_selenium', '~> 1.0.1'
40
+ gem 'mediawiki_selenium', '~> 1.0.2'
41
41
 
42
42
  Install the gem and its dependencies by running `bundle install`. (If
43
43
  [Bundler](http://bundler.io/) is not yet installed, install it with
@@ -97,16 +97,30 @@ To run a single scenario, give the line number as well.
97
97
 
98
98
  bundle exec cucumber feature/some.feature:11
99
99
 
100
- The set of default configuration to use (see "Getting started") is specified
101
- by the `MEDIAWIKI_ENVIRONMENT` environment variable, which should be defined
102
- somewhere in your shell profile. For example, if you're using
103
- [Mediawiki-Vagrant](http://www.mediawiki.org/wiki/MediaWiki-Vagrant) for your
104
- development and executing tests on the host OS, the environment name would be
105
- `mw-vagrant-host`.
100
+ The set of default configuration to use (see "Getting started") can be
101
+ specified by the `MEDIAWIKI_ENVIRONMENT` environment variable, defined
102
+ somewhere in your shell profile. If no value is set, an entry called `default`
103
+ is loaded.
106
104
 
107
- export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host # Linux/Unix/Mac
108
- set MEDIAWIKI_URL=mw-vagrant-host # Windows Command Prompt
109
- $env:MEDIAWIKI_URL="mw-vagrant-host" # Windows PowerShell
105
+ For example, if your `environments.yml` file looked something like this.
106
+
107
+ mw-vagrant-host: &default
108
+ mediawiki_url: http://127.0.0.1:8080/wiki/
109
+ # ...
110
+
111
+ mw-vagrant-guest:
112
+ mediawiki_url: http://127.0.0.1/wiki/
113
+ # ...
114
+
115
+ beta:
116
+ mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/
117
+ # ...
118
+
119
+ default: *default
120
+
121
+ Defining `MEDIAWIKI_ENVIRONMENT=beta` in your shell would tell MW-Selenium to
122
+ use the configuration for `beta` above. Leaving it unset would use the entry
123
+ called `default` which in this case points to `mw-vagrant-host`.
110
124
 
111
125
  Firefox is the default browser, but you can specify a different one by setting
112
126
  `BROWSER`.
@@ -185,6 +199,11 @@ See https://www.mediawiki.org/wiki/Gerrit
185
199
 
186
200
  ## Release notes
187
201
 
202
+ ### 1.0.2 2015-03-26
203
+ * Fixed double yield bug in `PageFactory#on`
204
+ * Implemented loading of a `default` configuration from `environments.yml`
205
+ * Improved readme with configuration examples
206
+
188
207
  ### 1.0.1 2015-03-05
189
208
  * Fixed regex pattern in shared "I am logged in" step
190
209
 
@@ -19,8 +19,17 @@ module MediawikiSelenium
19
19
  # mediawiki_user: Selenium_user
20
20
  #
21
21
  # Which default set to use is determined by the value of the
22
- # `MEDIAWIKI_ENVIRONMENT` environment variable. (See {load} and
23
- # {load_default}.)
22
+ # `MEDIAWIKI_ENVIRONMENT` environment variable, or an entry called "default"
23
+ # if none is set. (See {load} and {load_default}.) The easiest way to
24
+ # designate such a default set is to use a YAML anchor like so.
25
+ #
26
+ # beta: &default
27
+ # mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/
28
+ # mediawiki_user: Selenium_user
29
+ # test2:
30
+ # mediawiki_url: http://test2.wikipedia.org/wiki/
31
+ # mediawiki_user: Selenium_user
32
+ # default: *default
24
33
  #
25
34
  # Any additional configuration specified via environment variables overrides
26
35
  # what is specified in the YAML file. For example, the following would use
@@ -85,7 +94,7 @@ module MediawikiSelenium
85
94
  # @see load
86
95
  #
87
96
  def load_default
88
- load(ENV['MEDIAWIKI_ENVIRONMENT'], ENV)
97
+ load(ENV['MEDIAWIKI_ENVIRONMENT'] || 'default', ENV)
89
98
  end
90
99
  end
91
100
 
@@ -16,7 +16,7 @@ module MediawikiSelenium
16
16
  def on_page(page_class, params = { using_params: {} }, visit = false)
17
17
  @browser = browser if visit
18
18
 
19
- super(page_class, params, false).tap do |page|
19
+ super(page_class, params, false) do |page|
20
20
  if page.respond_to?(:goto)
21
21
  wiki_url = method(:wiki_url)
22
22
 
@@ -33,6 +33,5 @@ module MediawikiSelenium
33
33
 
34
34
  # @see #on_page
35
35
  alias on on_page
36
-
37
36
  end
38
37
  end
@@ -1,3 +1,3 @@
1
1
  module MediawikiSelenium
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
@@ -69,6 +69,14 @@ module MediawikiSelenium
69
69
  expect(Environment).to receive(:load).with('foo', ENV)
70
70
  subject
71
71
  end
72
+
73
+ context 'where MEDIAWIKI_ENVIRONMENT is not defined' do
74
+ it 'looks for a "default" environment' do
75
+ expect(ENV).to receive(:[]).with('MEDIAWIKI_ENVIRONMENT').and_return(nil)
76
+ expect(Environment).to receive(:load).with('default', ENV)
77
+ subject
78
+ end
79
+ end
72
80
  end
73
81
 
74
82
  describe '#==' do
@@ -12,8 +12,27 @@ module MediawikiSelenium
12
12
  describe '#on_page' do
13
13
  subject { env.on_page(page_class, { using_params: {} }, visit) }
14
14
 
15
+ let(:page_class) { Class.new { include ::PageObject } }
16
+ let(:visit) { false }
17
+
15
18
  let(:browser) { double('Watir::Browser') }
16
19
 
20
+ it 'returns a new page object' do
21
+ page = double('PageObject')
22
+ expect(page_class).to receive(:new).and_return(page)
23
+ expect(subject).to be(page)
24
+ end
25
+
26
+ context 'when given a block' do
27
+ it 'yields it only once with a new page object' do
28
+ page = double('PageObject')
29
+ allow(page_class).to receive(:new).and_return(page)
30
+
31
+ expect { |block| env.on_page(page_class, &block) }.to yield_control.once
32
+ expect { |block| env.on_page(page_class, &block) }.to yield_with_args(page)
33
+ end
34
+ end
35
+
17
36
  context 'when told to visit a page' do
18
37
  let(:visit) { true }
19
38
  let(:config) { { mediawiki_url: 'http://an.example/wiki/' } }
@@ -14,7 +14,7 @@
14
14
  # export MEDIAWIKI_USER=Selenium_user2
15
15
  # bundle exec cucumber
16
16
  #
17
- mw-vagrant-host:
17
+ mw-vagrant-host: &default
18
18
  mediawiki_url: http://127.0.0.1:8080/wiki/
19
19
  mediawiki_user: Selenium_user
20
20
  mediawiki_password: vagrant
@@ -33,3 +33,5 @@ test2:
33
33
  mediawiki_url: http://test2.wikipedia.org/wiki/
34
34
  mediawiki_user: Selenium_user
35
35
  # mediawiki_password: SET THIS IN THE ENVIRONMENT!
36
+
37
+ default: *default
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: 1.0.1
4
+ version: 1.0.2
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: 2015-03-05 00:00:00.000000000 Z
16
+ date: 2015-03-26 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: cucumber