site_prism 1.4 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@ module SitePrism::ElementContainer
3
3
  def element element_name, element_selector = nil
4
4
  build element_name, element_selector do
5
5
  define_method element_name.to_s do
6
- find_one element_selector
6
+ find_first element_selector
7
7
  end
8
8
  end
9
9
  end
@@ -20,7 +20,7 @@ module SitePrism::ElementContainer
20
20
  def section section_name, section_class, section_selector
21
21
  build section_name, section_selector do
22
22
  define_method section_name do
23
- section_class.new find_one section_selector
23
+ section_class.new find_first section_selector
24
24
  end
25
25
  end
26
26
  end
@@ -96,10 +96,9 @@ module SitePrism::ElementContainer
96
96
  def create_waiter element_name, element_selector
97
97
  method_name = "wait_for_#{element_name.to_s}"
98
98
  build_checker_or_waiter element_name, method_name, element_selector do
99
- define_method method_name do |*args| #used to use block args, but they don't work under ruby 1.8 :(
100
- timeout = args.shift || Capybara.default_wait_time
99
+ define_method method_name do |timeout = Capybara.default_wait_time|
101
100
  Capybara.using_wait_time timeout do
102
- element_waiter element_selector
101
+ element_exists? element_selector
103
102
  end
104
103
  end
105
104
  end
@@ -108,17 +107,12 @@ module SitePrism::ElementContainer
108
107
  def create_visibility_waiter element_name, element_selector
109
108
  method_name = "wait_until_#{element_name.to_s}_visible"
110
109
  build_checker_or_waiter element_name, method_name, element_selector do
111
- define_method method_name do |*args|
112
- timeout = args.shift || Capybara.default_wait_time
110
+ define_method method_name do |timeout = Capybara.default_wait_time|
113
111
  Capybara.using_wait_time timeout do
114
- element_waiter element_selector
112
+ element_exists? element_selector
115
113
  end
116
- begin
117
- Timeout.timeout(timeout) do
118
- sleep 0.1 until find_one(element_selector).visible?
119
- end
120
- rescue Timeout::Error
121
- raise SitePrism::TimeOutWaitingForElementVisibility.new("#{element_name} did not become visible")
114
+ Timeout.timeout timeout, SitePrism::TimeOutWaitingForElementVisibility do
115
+ sleep 0.1 until find_first(element_selector).visible?
122
116
  end
123
117
  end
124
118
  end
@@ -127,14 +121,9 @@ module SitePrism::ElementContainer
127
121
  def create_invisibility_waiter element_name, element_selector
128
122
  method_name = "wait_until_#{element_name.to_s}_invisible"
129
123
  build_checker_or_waiter element_name, method_name, element_selector do
130
- define_method method_name do |*args|
131
- timeout = args.shift || Capybara.default_wait_time
132
- begin
133
- Timeout.timeout(timeout) do
134
- sleep 0.1 while element_exists?(element_selector) && find_one(element_selector).visible?
135
- end
136
- rescue Timeout::Error
137
- raise SitePrism::TimeOutWaitingForElementInvisibility.new("#{element_name} did not become invisible")
124
+ define_method method_name do |timeout = Capybara.default_wait_time|
125
+ Timeout.timeout timeout, SitePrism::TimeOutWaitingForElementInvisibility do
126
+ sleep 0.1 while element_exists?(element_selector) && find_first(element_selector).visible?
138
127
  end
139
128
  end
140
129
  end
@@ -49,8 +49,8 @@ module SitePrism
49
49
 
50
50
  private
51
51
 
52
- def find_one selector
53
- find selector
52
+ def find_first selector
53
+ first selector
54
54
  end
55
55
 
56
56
  def find_all selector
@@ -60,10 +60,6 @@ module SitePrism
60
60
  def element_exists? selector
61
61
  has_selector? selector
62
62
  end
63
-
64
- def element_waiter selector
65
- wait_until { element_exists? selector }
66
- end
67
63
  end
68
64
  end
69
65
 
@@ -24,8 +24,8 @@ module SitePrism
24
24
 
25
25
  private
26
26
 
27
- def find_one selector
28
- root_element.find selector
27
+ def find_first selector
28
+ root_element.first selector
29
29
  end
30
30
 
31
31
  def find_all selector
@@ -35,10 +35,6 @@ module SitePrism
35
35
  def element_exists? selector
36
36
  root_element.has_selector? selector
37
37
  end
38
-
39
- def element_waiter selector
40
- Capybara.current_session.wait_until { element_exists? selector }
41
- end
42
38
  end
43
39
  end
44
40
 
@@ -1,4 +1,4 @@
1
1
  module SitePrism
2
- VERSION = "1.4"
2
+ VERSION = "2.0"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: site_prism
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.4'
4
+ version: '2.0'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,30 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-20 00:00:00.000000000 Z
12
+ date: 2013-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capybara
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.2
22
+ - - <
20
23
  - !ruby/object:Gem::Version
21
- version: '1.1'
24
+ version: '3.0'
22
25
  type: :runtime
23
26
  prerelease: false
24
27
  version_requirements: !ruby/object:Gem::Requirement
25
28
  none: false
26
29
  requirements:
27
- - - ~>
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.2
33
+ - - <
28
34
  - !ruby/object:Gem::Version
29
- version: '1.1'
35
+ version: '3.0'
30
36
  - !ruby/object:Gem::Dependency
31
37
  name: rspec
32
38
  requirement: !ruby/object:Gem::Requirement