test-page 0.0.2 → 0.0.3
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/.coveralls.yml +1 -0
- data/.travis.yml +8 -0
- data/Gemfile +1 -0
- data/README.md +1 -0
- data/lib/test/page.rb +4 -3
- data/lib/test/page/version.rb +1 -1
- data/spec/spec_helper.rb +3 -0
- data/spec/test/page_spec.rb +15 -0
- metadata +3 -2
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
repo_token: DTKokhL9P3koXfPLu8BRED4PdWPc5kFQg
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# Test::Page
|
2
2
|
|
3
3
|
[](http://travis-ci.org/jarmo/test-page)
|
4
|
+
[](https://coveralls.io/r/jarmo/test-page)
|
4
5
|
[](https://gemnasium.com/jarmo/test-page)
|
5
6
|
[](https://codeclimate.com/github/jarmo/test-page)
|
6
7
|
|
data/lib/test/page.rb
CHANGED
@@ -136,13 +136,14 @@ module Test
|
|
136
136
|
# Subsequent executions of the same method will be invoked on the {Page} object directly.
|
137
137
|
def method_missing(name, *args)
|
138
138
|
begin
|
139
|
-
|
139
|
+
element
|
140
140
|
rescue SystemStackError
|
141
141
|
raise_invalid_element_definition
|
142
142
|
end
|
143
|
-
|
143
|
+
|
144
|
+
if element.respond_to?(name)
|
144
145
|
self.class.send :define_method, name do |*args|
|
145
|
-
|
146
|
+
element.send(name, *args) {yield}
|
146
147
|
end
|
147
148
|
self.send(name, *args) {yield}
|
148
149
|
else
|
data/lib/test/page/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/spec/test/page_spec.rb
CHANGED
@@ -178,6 +178,21 @@ describe Test::Page do
|
|
178
178
|
page.should respond_to(:size)
|
179
179
|
end
|
180
180
|
|
181
|
+
it "defined methods to the page class will invoke methods on new element instance too" do
|
182
|
+
page = page_class.new "element"
|
183
|
+
page.size
|
184
|
+
el = page.element
|
185
|
+
el.instance_eval do
|
186
|
+
singleton = class << self; self end
|
187
|
+
singleton.send(:define_method, :size) { raise "not expected to call this!" }
|
188
|
+
end
|
189
|
+
|
190
|
+
page.instance_variable_set :@element, "new element"
|
191
|
+
expect {
|
192
|
+
page.size
|
193
|
+
}.not_to raise_error
|
194
|
+
end
|
195
|
+
|
181
196
|
it "will raise a NoMethodError if no method is found on element" do
|
182
197
|
expect { page_class.new("element").foo }.to raise_error(NoMethodError)
|
183
198
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-page
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -99,6 +99,7 @@ executables: []
|
|
99
99
|
extensions: []
|
100
100
|
extra_rdoc_files: []
|
101
101
|
files:
|
102
|
+
- .coveralls.yml
|
102
103
|
- .gitignore
|
103
104
|
- .rspec
|
104
105
|
- .travis.yml
|