rwebspec 4.3.4 → 4.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,6 +1,10 @@
1
1
  CHANGELOG
2
2
  =========
3
3
 
4
+ 4.3.5
5
+ [Change] Add licence (MIT) into gemspec
6
+ [Fixes] check_checkbox not working when there is hidden input with same name as checkbox
7
+
4
8
  4.3.4
5
9
  [Fixes] check_checkbox and uncheck_checkbox handle when more than one matching element
6
10
 
data/Rakefile CHANGED
@@ -78,7 +78,7 @@ end
78
78
  spec = Gem::Specification.new do |s|
79
79
  s.platform= Gem::Platform::RUBY
80
80
  s.name = "rwebspec"
81
- s.version = "4.3.4"
81
+ s.version = "4.3.5"
82
82
  s.summary = "Web application functional specification in Ruby"
83
83
  s.description = "Executable functional specification for web applications in RSpec syntax with Watir or Selenium"
84
84
 
@@ -86,7 +86,8 @@ spec = Gem::Specification.new do |s|
86
86
  s.email = "zhimin@agileway.com.au"
87
87
  s.homepage= "http://github.com/zhimin/rwebspec/tree/master"
88
88
  s.rubyforge_project = "rwebspec"
89
-
89
+ s.licenses = ["MIT"]
90
+
90
91
  s.has_rdoc = true
91
92
  s.requirements << 'none'
92
93
  s.require_path = "lib"
@@ -579,47 +579,43 @@ module RWebSpec
579
579
  # check_checkbox("agree")
580
580
  # check_checkbox("agree", "true")
581
581
  def check_checkbox(checkBoxName, values=nil)
582
+ elements = find_checkboxes_by_name(checkBoxName)
582
583
  if values
583
- values.class == Array ? arys = values : arys = [values]
584
- elements = find_elements(:name, checkBoxName)
585
- the_checkbox = elements[0] if elements.size > 0
586
- if the_checkbox
587
- the_checkbox.click unless the_checkbox.selected?
588
- return
589
- end
590
-
584
+ values.class == Array ? arys = values : arys = [values]
591
585
  arys.each { |cbx_value|
592
586
  elements.each do |elem|
593
587
  elem.click if elem.attribute('value') == cbx_value && !elem.selected?
594
588
  end
595
589
  }
596
590
  else
597
- the_checkbox = find_element(:name, checkBoxName)
591
+ the_checkbox = elements[0]
598
592
  the_checkbox.click unless the_checkbox.selected?
599
593
  end
600
594
  end
595
+
596
+ def find_checkboxes_by_name(checkBoxName)
597
+ elements = find_elements(:name, checkBoxName)
598
+ elements.reject! {|x| x.tag_name != "input" || x["type"] != "checkbox"}
599
+ raise "No checkbox with name #{checkBoxName} found" if elements.empty?
600
+ return elements
601
+ end
601
602
 
602
603
  # Uncheck a checkbox
603
604
  # Usage:
604
605
  # uncheck_checkbox("agree")
605
606
  # uncheck_checkbox("agree", "false")
606
607
  def uncheck_checkbox(checkBoxName, values = nil)
608
+ elements = find_checkboxes_by_name(checkBoxName)
609
+
607
610
  if values
608
- values.class == Array ? arys = values : arys = [values]
609
- elements = find_elements(:name, checkBoxName)
610
- the_checkbox = elements[0] if elements.size > 0
611
- if the_checkbox
612
- the_checkbox.click if the_checkbox.selected?
613
- return
614
- end
615
-
611
+ values.class == Array ? arys = values : arys = [values]
616
612
  arys.each { |cbx_value|
617
613
  elements.each do |elem|
618
- elem.click if elem.attribute('value') == cbx_value && elem && elem.selected?
614
+ elem.click if elem.attribute('value') == cbx_value && elem.selected?
619
615
  end
620
616
  }
621
617
  else
622
- the_checkbox = find_element(:name, checkBoxName)
618
+ the_checkbox = elements[0]
623
619
  the_checkbox.click if the_checkbox.selected?
624
620
  end
625
621
  end
data/lib/rwebspec.rb CHANGED
@@ -16,7 +16,7 @@ end
16
16
  require 'rspec'
17
17
 
18
18
  unless defined? RWEBSPEC_VERSION
19
- RWEBSPEC_VERSION = RWEBUNIT_VERSION = "4.3.4"
19
+ RWEBSPEC_VERSION = RWEBUNIT_VERSION = "4.3.5"
20
20
  end
21
21
 
22
22
  $testwise_polling_interval = 1 # seconds
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rwebspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.4
4
+ version: 4.3.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire: rwebspec
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-05 00:00:00.000000000 Z
12
+ date: 2013-08-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -143,7 +143,8 @@ files:
143
143
  - lib/rwebspec-webdriver/web_browser.rb
144
144
  - lib/rwebspec.rb
145
145
  homepage: http://github.com/zhimin/rwebspec/tree/master
146
- licenses: []
146
+ licenses:
147
+ - MIT
147
148
  post_install_message:
148
149
  rdoc_options: []
149
150
  require_paths: