capybara-widgets 0.2.0 → 0.2.1

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.
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