capybara-widgets 0.2.0 → 0.2.1

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: e98613481eaf9e01a0d306a6be1bfe3cbb9a5ebb
4
- data.tar.gz: 5e0a51ef2c632f47fed8f3314524b6223231783e
3
+ metadata.gz: eacc9e245649c9c448db58e38a8fcfde907b781b
4
+ data.tar.gz: 4e939148a9e6cfd1d36545d599cc01cd39da81b0
5
5
  SHA512:
6
- metadata.gz: bcbf75f3df259f41e0c0c3f5da5b9d9cbde2fb58c8777a3f9cb26add867ca519d9a7e3c3729d6c7f03f74751a29ce842e01517f62781d1a2736e3c46166cef87
7
- data.tar.gz: 9b029d11cdfe3f98c90c7efaeef5ec0840c16e44aa2855b3bfe33e801165611fd66fa546bfa48e6eb38fa1bd046e4fb601222fc4a4e9826aaceee96a24ccdc65
6
+ metadata.gz: 731e3b7b85239e7e8417d1d9b4a7195ba583bbfaaed621d92492ce4d32c93195a30957fe0e668943443f2b24c51706fe9e3a0052dabefa3f49a90f862117db06
7
+ data.tar.gz: 604c5d2fa854f85e88a9e3ff62b4f649ec0d6989ccc0f8478eeeb7d2ff1999c9dbb5db82ad1b3e8df2fc72acf6fd7fda38c024ac53a4ab7e0d0040eafc11858f
@@ -22,6 +22,9 @@ module Capybara
22
22
 
23
23
  def loaded?
24
24
  result = opened?
25
+ if self.respond_to?(:components_loaded?)
26
+ result = result && components_loaded?
27
+ end
25
28
  if self.respond_to?(:elements_loaded?)
26
29
  result = result && elements_loaded?
27
30
  end
@@ -52,15 +52,30 @@ module Capybara
52
52
  define_method("#{name}!") { root.find(*query).click }
53
53
  define_method(name) { root.find(*query) }
54
54
  define_method("#{name}=") { |arg| root.find(*query).set(arg) }
55
- define_method("has_#{name}?"){|*args| root.has_selector?(*query, *args) }
56
- define_method("has_no_#{name}?"){|*args| root.has_no_selector?(*query, *args) }
55
+ define_method("has_#{name}?") { |*args| root.has_selector?(*query, *args) }
56
+ define_method("has_no_#{name}?") { |*args| root.has_no_selector?(*query, *args) }
57
57
  end
58
58
 
59
59
  def required_element(*element_names)
60
- define_method(:elements_loaded?) { element_names.map {|name| self.send("has_#{name}?")}.count(false) == 0 }
60
+ define_method(:elements_loaded?) { element_names.map { |name| self.send("has_#{name}?") }.count(false) == 0 }
61
61
  end
62
62
 
63
63
  alias_method :required_elements, :required_element
64
+
65
+ def required_component(*component_names)
66
+ define_method(:components_loaded?) do
67
+ component_names.map do |name|
68
+ component = self.send(name)
69
+ if component.respond_to?(:elements_loaded?)
70
+ component.elements_loaded?
71
+ else
72
+ true
73
+ end
74
+ end.count(false) == 0
75
+ end
76
+ end
77
+
78
+ alias_method :required_components, :required_component
64
79
  end
65
80
 
66
81
  # delegate missing methods to the @root node
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Widgets
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitalii Grygoruk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-15 00:00:00.000000000 Z
11
+ date: 2015-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler