watir-webdriver 0.2.1 → 0.2.2

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.
@@ -52,6 +52,8 @@ module Watir
52
52
  define_boolean_attribute(method_name, attribute_name)
53
53
  when :int
54
54
  define_int_attribute(method_name, attribute_name)
55
+ when :float
56
+ define_float_attribute(method_name, attribute_name)
55
57
  else
56
58
  # $stderr.puts "treating #{type.inspect} as string for now"
57
59
  end
@@ -79,6 +81,14 @@ module Watir
79
81
  end
80
82
  end
81
83
 
84
+ def define_float_attribute(mname, aname)
85
+ define_method mname do
86
+ assert_exists
87
+ value = @element.attribute(aname)
88
+ value && Float(value)
89
+ end
90
+ end
91
+
82
92
  def add_attributes(attributes)
83
93
  attributes.each do |type, attr_list|
84
94
  typed_attributes[type] += attr_list
@@ -101,7 +101,7 @@ module Watir
101
101
  assert_exists
102
102
 
103
103
  begin
104
- @element.value || ''
104
+ @element.attribute('value') || ''
105
105
  rescue WebDriver::Error::InvalidElementStateError
106
106
  ""
107
107
  end
@@ -24,23 +24,6 @@ module Watir
24
24
  path = path.gsub(File::SEPARATOR, File::ALT_SEPARATOR) if File::ALT_SEPARATOR
25
25
  @element.send_keys path
26
26
  end
27
-
28
- #
29
- # Return the value of this field
30
- #
31
- # In IE, the path returned depends on the "Include local directory path
32
- # when uploading files to a server" security setting:
33
- #
34
- # @see http://msdn.microsoft.com/en-us/library/ms535128(VS.85).aspx
35
- #
36
- # @return [String]
37
- #
38
-
39
- def value
40
- # since 'value' is an attribute on input fields, we override this here
41
- assert_exists
42
- @element.value
43
- end
44
27
  end
45
28
 
46
29
  module Container
@@ -28,17 +28,17 @@ module Watir
28
28
 
29
29
  def file_created_date
30
30
  assert_exists
31
- raise NotImplementedError
31
+ raise NotImplementedError, "not currently supported by WebDriver"
32
32
  end
33
33
 
34
34
  def file_size
35
35
  assert_exists
36
- raise NotImplementedError
36
+ raise NotImplementedError, "not currently supported by WebDriver"
37
37
  end
38
38
 
39
39
  def save(path)
40
40
  assert_exists
41
- raise NotImplementedError
41
+ raise NotImplementedError, "not currently supported by WebDriver"
42
42
  end
43
43
 
44
44
  end # Image
@@ -38,16 +38,6 @@ module Watir
38
38
  @element.clear
39
39
  end
40
40
 
41
- #
42
- # Returns the text in the text field.
43
- #
44
-
45
- def value
46
- # since 'value' is an attribute on input fields, we override this here
47
- assert_exists
48
- @element.value
49
- end
50
-
51
41
  private
52
42
 
53
43
  def locate
@@ -1,3 +1,3 @@
1
1
  module Watir
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -7,7 +7,7 @@ module Watir
7
7
  if args.empty?
8
8
  all
9
9
  else
10
- filter_windows(args, all, :select)
10
+ filter_windows extract_selector(args), all
11
11
  end
12
12
  end
13
13
 
@@ -21,15 +21,13 @@ module Watir
21
21
 
22
22
  private
23
23
 
24
- def filter_windows(args, all, method)
25
- sel = extract_selector(args)
26
-
27
- unless sel.keys.all? { |k| [:title, :url].include? k }
28
- raise ArgumentError, "invalid window selector: #{sel.inspect}"
24
+ def filter_windows(selector, windows)
25
+ unless selector.keys.all? { |k| [:title, :url].include? k }
26
+ raise ArgumentError, "invalid window selector: #{selector.inspect}"
29
27
  end
30
28
 
31
- all.send(method) do |win|
32
- sel.all? { |key, value| value === win.send(key) }
29
+ windows.select do |win|
30
+ selector.all? { |key, value| value === win.send(key) }
33
31
  end
34
32
  end
35
33
  end # WindowSwitching
@@ -46,7 +44,7 @@ module Watir
46
44
  elsif selector.has_key? :handle
47
45
  @handle = selector.delete :handle
48
46
  else
49
- unless selector.keys.all? { |k| [:title, :url].include? k }
47
+ unless selector.keys.all? { |k| [:title, :url, :index].include? k }
50
48
  raise ArgumentError, "invalid window selector: #{selector.inspect}"
51
49
  end
52
50
  end
@@ -115,9 +113,11 @@ module Watir
115
113
  end
116
114
 
117
115
  def locate
118
- handle = @driver.window_handles.find { |handle|
119
- matches?(handle)
120
- }
116
+ handle = if @selector.has_key?(:index)
117
+ @driver.window_handles[Integer(@selector[:index])]
118
+ else
119
+ @driver.window_handles.find { |handle| matches?(handle) }
120
+ end
121
121
 
122
122
  handle or raise Exception::NoMatchingWindowFoundException, @selector.inspect
123
123
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: watir-webdriver
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.1
5
+ version: 0.2.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jari Bakken
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-21 00:00:00 +01:00
13
+ date: 2011-04-04 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency