capybara-select-2 0.4.2 → 0.4.3

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
  SHA256:
3
- metadata.gz: 165b231b0ff7239500ceb337abd3dcfe52b8a91323eb23b04f75c0ba64485329
4
- data.tar.gz: 7252719bd5bc70206761cdb1750a0c574b47b9499015192e5895986f13328296
3
+ metadata.gz: 30e42ae946b9db5831c6b273b80b1375a4b38b04629c13936df6bc6fe39ab259
4
+ data.tar.gz: 8421aa74a1d08543b75eb69e02dce4c35a30209ddf61e44a2f28482e9d43be95
5
5
  SHA512:
6
- metadata.gz: 2202e416f831a57ff18a3b38af90689375dd7fe87af7452cd8200452a5d868d0c4dea511c66da50ed374f73d5547443c58ead839afc6cc9b86e0321392130a35
7
- data.tar.gz: 66b3cb1a83f8e3437dc7c357fc6366c237951408379ada92382772ed44bf6db052c525b41752524f9386293b50ffa0448f80900ae4b5154b9a402af8c713503e
6
+ metadata.gz: 1c31a763c6e2e095c17b77bbc5de112840204a8e4ce3d624ca82390002bab7acbe3802ea93f9c14a01c3b4ca195b5a4f3183ad140f0628359d4076978a2633fd
7
+ data.tar.gz: f9e4d96512ed254a26acdb6f83291b4b60475991513636c2b6454167d50eba0e16c582222fbe3b921b39384a822866345ab247f84fc305bb86cf14ee94163838
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --format documentation
2
2
  --color
3
+ --require spec_helper
data/README.md CHANGED
@@ -67,6 +67,8 @@ select2 'Buy Milk', css: '#todo'
67
67
  select2 'Buy Milk', xpath: '//div[@id="todo"]'
68
68
  ```
69
69
 
70
+ [Note] CSS and xPath selectors should identify a block which wraps select2 element or a select2 element itself (an html element with the `.select2-container` class)
71
+
70
72
  ### Select from select2 control identified by label
71
73
  ```ruby
72
74
  select2 'Buy Milk', from: 'Things to do'
@@ -92,6 +94,11 @@ select2 'Buy Milk', 'Go to gym', css: '#todo'
92
94
  select2 'Buy Milk', from: 'Things to do', search: true, match: :first
93
95
  ```
94
96
 
97
+ ### Search for exact text in the specified node
98
+ ```ruby
99
+ select2 'Buy Milk', from: 'Things to do', exact_text: true
100
+ ```
101
+
95
102
  ### Check for select2 option on the page
96
103
  ```ruby
97
104
  expect(page).to have_select2_option('Buy Milk')
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_development_dependency "bundler", "~> 2.0"
30
30
  spec.add_development_dependency "rake", "~> 10.0"
31
- spec.add_development_dependency "rspec", "~> 3.0"
31
+ spec.add_development_dependency "rspec", "~> 3.9"
32
32
  spec.add_development_dependency "capybara", "~> 3.12"
33
33
  spec.add_development_dependency "chromedriver-helper", "~> 2.1"
34
34
  spec.add_development_dependency "selenium-webdriver", "~> 3.141.0"
@@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "puma", "~> 3.12"
37
37
  spec.add_development_dependency "pry", "~> 0.11.0"
38
38
  spec.add_development_dependency "simplecov", "~> 0.16"
39
+ spec.add_development_dependency "sinatra", "~> 2.0"
39
40
  end
@@ -26,6 +26,7 @@ module CapybaraSelect2
26
26
 
27
27
  find_options = { text: value }
28
28
  find_options[:match] = options[:match] if options[:match]
29
+ find_options[:exact_text] = options[:exact_text] if options[:exact_text]
29
30
  find(:xpath, '//body').find(:css, option_selector, find_options).click
30
31
  end
31
32
  end
@@ -26,8 +26,8 @@ module CapybaraSelect2
26
26
 
27
27
  OptionSelectors = {
28
28
  '2' => ".select2-container-active .select2-result",
29
- '3' => ".select2-drop-active .select2-result",
30
- '4' => ".select2-results .select2-results__option[role='treeitem']"
29
+ '3' => ".select2-drop-active .select2-result-label",
30
+ '4' => ".select2-results .select2-results__option[aria-selected='false']"
31
31
  }.freeze
32
32
 
33
33
  def option_selector(select2_version)
@@ -1,3 +1,3 @@
1
1
  module CapybaraSelect2
2
- VERSION = "0.4.2"
2
+ VERSION = "0.4.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-select-2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dzmitry Kavalionak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-10 00:00:00.000000000 Z
11
+ date: 2019-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '3.9'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '3.9'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: capybara
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.16'
153
+ - !ruby/object:Gem::Dependency
154
+ name: sinatra
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.0'
153
167
  description:
154
168
  email:
155
169
  - dzm.kov@gmail.com
@@ -170,8 +184,6 @@ files:
170
184
  - bin/console
171
185
  - bin/setup
172
186
  - capybara_select2.gemspec
173
- - ci/install-chrome
174
- - ci/install-chromedriver
175
187
  - lib/capybara-select-2.rb
176
188
  - lib/capybara_select2.rb
177
189
  - lib/capybara_select2/helpers.rb
@@ -1,11 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -xe
4
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
5
- echo "deb http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google.list
6
-
7
- # Update packages
8
- apt-get update -yqqq
9
-
10
- # Install Chrome browser
11
- apt-get install -y google-chrome-stable
@@ -1,23 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -xe
4
-
5
- # Update packages
6
- apt-get update -yqqq
7
-
8
- # Install Chrome browser
9
- apt-get install -y unzip
10
-
11
- # Install/use specific version of chrome if an installed version is lower
12
- install_chromedriver() {
13
- wget -O $TMPDIR/chromedriver.zip https://chromedriver.storage.googleapis.com/${MIN_CHROMEDRIVER_VER}/chromedriver_linux64.zip
14
- mkdir -p $HOME/.chromedriver
15
- (cd $HOME/.chromedriver && unzip $TMPDIR/chromedriver.zip && chmod +x chromedriver)
16
- rm -f $TMPDIR/chromedriver.zip
17
- ln -s $HOME/.chromedriver/chromedriver /usr/local/bin/chromedriver
18
- }
19
- if ! which chromedriver; then
20
- install_chromedriver
21
- elif dpkg --compare-versions `chromedriver --version | cut -d " " -f2` lt $MIN_CHROMEDRIVER_VER; then
22
- install_chromedriver
23
- fi