watir-webdriver 0.0.1.dev5 → 0.0.1.dev6

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.
Files changed (92) hide show
  1. data/Rakefile +13 -19
  2. data/VERSION +1 -1
  3. data/lib/watir-webdriver.rb +3 -1
  4. data/lib/watir-webdriver/base_element.rb +33 -27
  5. data/lib/watir-webdriver/browser.rb +2 -6
  6. data/lib/watir-webdriver/elements/font.rb +12 -0
  7. data/lib/watir-webdriver/elements/generated.rb +1027 -622
  8. data/lib/watir-webdriver/elements/select_list.rb +3 -3
  9. data/lib/watir-webdriver/locators/element_locator.rb +2 -2
  10. data/lib/watir-webdriver/xpath_support.rb +2 -2
  11. data/support/html5/html5.idl +942 -483
  12. data/support/html5/old/html5.idl +962 -0
  13. data/support/html5/{html5_extras.idl → old/html5_extras.idl} +0 -2
  14. data/support/html5/watir_visitor.rb +23 -19
  15. metadata +74 -100
  16. data/spec/watirspec/area_spec.rb +0 -78
  17. data/spec/watirspec/areas_spec.rb +0 -31
  18. data/spec/watirspec/browser_spec.rb +0 -274
  19. data/spec/watirspec/button_spec.rb +0 -242
  20. data/spec/watirspec/buttons_spec.rb +0 -48
  21. data/spec/watirspec/checkbox_spec.rb +0 -272
  22. data/spec/watirspec/checkboxes_spec.rb +0 -32
  23. data/spec/watirspec/dd_spec.rb +0 -123
  24. data/spec/watirspec/dds_spec.rb +0 -31
  25. data/spec/watirspec/div_spec.rb +0 -211
  26. data/spec/watirspec/divs_spec.rb +0 -31
  27. data/spec/watirspec/dl_spec.rb +0 -123
  28. data/spec/watirspec/dls_spec.rb +0 -32
  29. data/spec/watirspec/dt_spec.rb +0 -123
  30. data/spec/watirspec/dts_spec.rb +0 -31
  31. data/spec/watirspec/element_spec.rb +0 -89
  32. data/spec/watirspec/em_spec.rb +0 -97
  33. data/spec/watirspec/ems_spec.rb +0 -32
  34. data/spec/watirspec/filefield_spec.rb +0 -119
  35. data/spec/watirspec/filefields_spec.rb +0 -32
  36. data/spec/watirspec/form_spec.rb +0 -63
  37. data/spec/watirspec/forms_spec.rb +0 -33
  38. data/spec/watirspec/frame_spec.rb +0 -129
  39. data/spec/watirspec/frames_spec.rb +0 -62
  40. data/spec/watirspec/hidden_spec.rb +0 -102
  41. data/spec/watirspec/hiddens_spec.rb +0 -32
  42. data/spec/watirspec/hn_spec.rb +0 -93
  43. data/spec/watirspec/hns_spec.rb +0 -38
  44. data/spec/watirspec/image_spec.rb +0 -207
  45. data/spec/watirspec/images_spec.rb +0 -31
  46. data/spec/watirspec/label_spec.rb +0 -75
  47. data/spec/watirspec/labels_spec.rb +0 -31
  48. data/spec/watirspec/li_spec.rb +0 -112
  49. data/spec/watirspec/lib/guards.rb +0 -59
  50. data/spec/watirspec/lib/server.rb +0 -127
  51. data/spec/watirspec/lib/spec_helper.rb +0 -79
  52. data/spec/watirspec/lib/watirspec.rb +0 -72
  53. data/spec/watirspec/link_spec.rb +0 -168
  54. data/spec/watirspec/links_spec.rb +0 -35
  55. data/spec/watirspec/lis_spec.rb +0 -31
  56. data/spec/watirspec/map_spec.rb +0 -76
  57. data/spec/watirspec/maps_spec.rb +0 -32
  58. data/spec/watirspec/meta_spec.rb +0 -22
  59. data/spec/watirspec/metas_spec.rb +0 -30
  60. data/spec/watirspec/ol_spec.rb +0 -78
  61. data/spec/watirspec/ols_spec.rb +0 -31
  62. data/spec/watirspec/option_spec.rb +0 -173
  63. data/spec/watirspec/p_spec.rb +0 -128
  64. data/spec/watirspec/pre_spec.rb +0 -112
  65. data/spec/watirspec/pres_spec.rb +0 -31
  66. data/spec/watirspec/ps_spec.rb +0 -31
  67. data/spec/watirspec/radio_spec.rb +0 -255
  68. data/spec/watirspec/radios_spec.rb +0 -32
  69. data/spec/watirspec/select_list_spec.rb +0 -318
  70. data/spec/watirspec/select_lists_spec.rb +0 -35
  71. data/spec/watirspec/span_spec.rb +0 -142
  72. data/spec/watirspec/spans_spec.rb +0 -31
  73. data/spec/watirspec/spec_helper.rb +0 -17
  74. data/spec/watirspec/strong_spec.rb +0 -89
  75. data/spec/watirspec/strongs_spec.rb +0 -32
  76. data/spec/watirspec/table_bodies_spec.rb +0 -45
  77. data/spec/watirspec/table_body_spec.rb +0 -98
  78. data/spec/watirspec/table_cell_spec.rb +0 -68
  79. data/spec/watirspec/table_cells_spec.rb +0 -47
  80. data/spec/watirspec/table_footer_spec.rb +0 -85
  81. data/spec/watirspec/table_footers_spec.rb +0 -47
  82. data/spec/watirspec/table_header_spec.rb +0 -85
  83. data/spec/watirspec/table_headers_spec.rb +0 -45
  84. data/spec/watirspec/table_row_spec.rb +0 -87
  85. data/spec/watirspec/table_rows_spec.rb +0 -50
  86. data/spec/watirspec/table_spec.rb +0 -160
  87. data/spec/watirspec/tables_spec.rb +0 -33
  88. data/spec/watirspec/text_field_spec.rb +0 -276
  89. data/spec/watirspec/text_fields_spec.rb +0 -35
  90. data/spec/watirspec/ul_spec.rb +0 -76
  91. data/spec/watirspec/uls_spec.rb +0 -33
  92. data/support/html5/idl_extractor.rb +0 -73
@@ -1,9 +1,7 @@
1
-
2
1
  // the-thead-element
3
2
  [TagName=thead]
4
3
  interface HTMLTheadElement : HTMLTableSectionElement {};
5
4
 
6
-
7
5
  // the-dd-element
8
6
  [TagName=dd]
9
7
  interface HTMLDdElement : HTMLElement {};
@@ -1,13 +1,15 @@
1
1
  # encoding: utf-8
2
2
  require "rubygems"
3
3
  require "webidl"
4
- require "ruby-debug"
5
4
  require "pp"
6
5
 
7
- Debugger.start
8
- Debugger.settings[:autoeval] = true
9
- Debugger.settings[:autolist] = 1
10
-
6
+ require "active_support"
7
+ ActiveSupport::Inflector.inflections do |inflect|
8
+ inflect.irregular 'body', 'bodys'
9
+ inflect.irregular 'tbody', 'tbodys'
10
+ inflect.irregular 'canvas', 'canvases'
11
+ inflect.irregular 'ins', 'inses' # made up.
12
+ end
11
13
 
12
14
  class WatirVisitor < WebIDL::RubySexpVisitor
13
15
 
@@ -34,6 +36,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
34
36
  name = interface.name
35
37
  parent = interface.inherits.first
36
38
 
39
+ $stderr.puts name
37
40
  return unless name =~ /^HTML/
38
41
 
39
42
  if name == "HTMLElement"
@@ -41,7 +44,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
41
44
  # elsif !(parent && parent.name =~ /^HTMLElement/)
42
45
  # return
43
46
  else
44
- parent = parent.name
47
+ parent = parent ? parent.name : 'HTMLElement'
45
48
  end
46
49
 
47
50
  element_class interface.name,
@@ -62,16 +65,21 @@ class WatirVisitor < WebIDL::RubySexpVisitor
62
65
 
63
66
  def tag_name_from(interface)
64
67
  _, tag_name = interface.extended_attributes.find { |k,v| k == "TagName" }
65
- tag_name || paramify(interface.name)
68
+ tag_name
66
69
  end
67
70
 
68
71
  def element_class(name, tag_name, attributes, parent)
69
- [:class, classify(name), [:const, classify(parent)],
70
- [:scope, [:block] + [identifier_call(tag_name)]],
71
- [:scope, [:block] + [container_call(tag_name)]],
72
- [:scope, [:block] + [collection_call(tag_name)]],
73
- [:scope, [:block] + [attributes_call(attributes)]]
74
- ]
72
+ sexp = [:class, classify(name), [:const, classify(parent)]]
73
+
74
+ if tag_name
75
+ sexp << [:scope, [:block] + [identifier_call(tag_name)]]
76
+ sexp << [:scope, [:block] + [container_call(tag_name)]]
77
+ sexp << [:scope, [:block] + [collection_call(tag_name)]]
78
+ end
79
+
80
+ sexp << [:scope, [:block] + [attributes_call(attributes)]]
81
+
82
+ sexp
75
83
  end
76
84
 
77
85
  def classify(name)
@@ -110,7 +118,7 @@ class WatirVisitor < WebIDL::RubySexpVisitor
110
118
  end
111
119
 
112
120
  def collection_call(name)
113
- call :collection_method, [[:lit, pluralize(paramify(name)).to_sym]]
121
+ call :collection_method, [[:lit, paramify(name).pluralize.to_sym]]
114
122
  end
115
123
 
116
124
  def literal_hash(hash)
@@ -125,17 +133,13 @@ class WatirVisitor < WebIDL::RubySexpVisitor
125
133
  [:call, nil, name.to_sym, [:arglist] + args]
126
134
  end
127
135
 
128
- def pluralize(name)
129
- name[/s$/] ? name : name + 's'
130
- end
131
-
132
136
  def ruby_type_for(type)
133
137
  case type.name.to_s
134
138
  when 'DOMString', 'any'
135
139
  :string
136
140
  when 'unsigned long', 'long', 'integer', 'short', 'unsigned short'
137
141
  :int
138
- when 'float'
142
+ when 'float', 'double'
139
143
  :float
140
144
  when 'Function'
141
145
  :function
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.dev5
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ - dev6
10
+ version: 0.0.1.dev6
5
11
  platform: ruby
6
12
  authors:
7
13
  - Jari Bakken
@@ -9,49 +15,87 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-03 00:00:00 +01:00
18
+ date: 2010-05-11 00:00:00 +02:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: selenium-webdriver
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
28
+ segments:
29
+ - 0
30
+ - 0
31
+ - 18
32
+ version: 0.0.18
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: rspec
27
- type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
30
39
  requirements:
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
33
44
  version: "0"
34
- version:
45
+ type: :development
46
+ version_requirements: *id002
35
47
  - !ruby/object:Gem::Dependency
36
48
  name: webidl
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
49
+ prerelease: false
50
+ requirement: &id003 !ruby/object:Gem::Requirement
40
51
  requirements:
41
52
  - - ">="
42
53
  - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
43
56
  version: "0"
44
- version:
57
+ type: :development
58
+ version_requirements: *id003
59
+ - !ruby/object:Gem::Dependency
60
+ name: sinatra
61
+ prerelease: false
62
+ requirement: &id004 !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ segments:
67
+ - 1
68
+ - 0
69
+ version: "1.0"
70
+ type: :development
71
+ version_requirements: *id004
45
72
  - !ruby/object:Gem::Dependency
46
73
  name: sinatra
74
+ prerelease: false
75
+ requirement: &id005 !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ segments:
80
+ - 1
81
+ - 0
82
+ version: "1.0"
47
83
  type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
84
+ version_requirements: *id005
85
+ - !ruby/object:Gem::Dependency
86
+ name: activesupport
87
+ prerelease: false
88
+ requirement: &id006 !ruby/object:Gem::Requirement
50
89
  requirements:
51
90
  - - ">="
52
91
  - !ruby/object:Gem::Version
53
- version: "0"
54
- version:
92
+ segments:
93
+ - 2
94
+ - 3
95
+ - 5
96
+ version: 2.3.5
97
+ type: :development
98
+ version_requirements: *id006
55
99
  description: WebDriver-backed Watir
56
100
  email: jari.bakken@gmail.com
57
101
  executables: []
@@ -61,6 +105,7 @@ extensions: []
61
105
  extra_rdoc_files:
62
106
  - LICENSE
63
107
  - README.rdoc
108
+ - TODO
64
109
  files:
65
110
  - .document
66
111
  - .gitignore
@@ -83,6 +128,7 @@ files:
83
128
  - lib/watir-webdriver/elements/button.rb
84
129
  - lib/watir-webdriver/elements/checkbox.rb
85
130
  - lib/watir-webdriver/elements/file_field.rb
131
+ - lib/watir-webdriver/elements/font.rb
86
132
  - lib/watir-webdriver/elements/form.rb
87
133
  - lib/watir-webdriver/elements/generated.rb
88
134
  - lib/watir-webdriver/elements/headings.rb
@@ -104,8 +150,8 @@ files:
104
150
  - lib/watir-webdriver/xpath_support.rb
105
151
  - spec/spec_helper.rb
106
152
  - support/html5/html5.idl
107
- - support/html5/html5_extras.idl
108
- - support/html5/idl_extractor.rb
153
+ - support/html5/old/html5.idl
154
+ - support/html5/old/html5_extras.idl
109
155
  - support/html5/watir_visitor.rb
110
156
  - support/yard_handlers.rb
111
157
  has_rdoc: true
@@ -121,96 +167,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
167
  requirements:
122
168
  - - ">="
123
169
  - !ruby/object:Gem::Version
170
+ segments:
171
+ - 0
124
172
  version: "0"
125
- version:
126
173
  required_rubygems_version: !ruby/object:Gem::Requirement
127
174
  requirements:
128
175
  - - ">"
129
176
  - !ruby/object:Gem::Version
177
+ segments:
178
+ - 1
179
+ - 3
180
+ - 1
130
181
  version: 1.3.1
131
- version:
132
182
  requirements: []
133
183
 
134
184
  rubyforge_project:
135
- rubygems_version: 1.3.5
185
+ rubygems_version: 1.3.6
136
186
  signing_key:
137
187
  specification_version: 3
138
188
  summary: Watir on WebDriver
139
189
  test_files:
140
190
  - spec/spec_helper.rb
141
- - spec/watirspec/area_spec.rb
142
- - spec/watirspec/areas_spec.rb
143
- - spec/watirspec/browser_spec.rb
144
- - spec/watirspec/button_spec.rb
145
- - spec/watirspec/buttons_spec.rb
146
- - spec/watirspec/checkbox_spec.rb
147
- - spec/watirspec/checkboxes_spec.rb
148
- - spec/watirspec/dd_spec.rb
149
- - spec/watirspec/dds_spec.rb
150
- - spec/watirspec/div_spec.rb
151
- - spec/watirspec/divs_spec.rb
152
- - spec/watirspec/dl_spec.rb
153
- - spec/watirspec/dls_spec.rb
154
- - spec/watirspec/dt_spec.rb
155
- - spec/watirspec/dts_spec.rb
156
- - spec/watirspec/element_spec.rb
157
- - spec/watirspec/em_spec.rb
158
- - spec/watirspec/ems_spec.rb
159
- - spec/watirspec/filefield_spec.rb
160
- - spec/watirspec/filefields_spec.rb
161
- - spec/watirspec/form_spec.rb
162
- - spec/watirspec/forms_spec.rb
163
- - spec/watirspec/frame_spec.rb
164
- - spec/watirspec/frames_spec.rb
165
- - spec/watirspec/hidden_spec.rb
166
- - spec/watirspec/hiddens_spec.rb
167
- - spec/watirspec/hn_spec.rb
168
- - spec/watirspec/hns_spec.rb
169
- - spec/watirspec/image_spec.rb
170
- - spec/watirspec/images_spec.rb
171
- - spec/watirspec/label_spec.rb
172
- - spec/watirspec/labels_spec.rb
173
- - spec/watirspec/li_spec.rb
174
- - spec/watirspec/lib/guards.rb
175
- - spec/watirspec/lib/server.rb
176
- - spec/watirspec/lib/spec_helper.rb
177
- - spec/watirspec/lib/watirspec.rb
178
- - spec/watirspec/link_spec.rb
179
- - spec/watirspec/links_spec.rb
180
- - spec/watirspec/lis_spec.rb
181
- - spec/watirspec/map_spec.rb
182
- - spec/watirspec/maps_spec.rb
183
- - spec/watirspec/meta_spec.rb
184
- - spec/watirspec/metas_spec.rb
185
- - spec/watirspec/ol_spec.rb
186
- - spec/watirspec/ols_spec.rb
187
- - spec/watirspec/option_spec.rb
188
- - spec/watirspec/p_spec.rb
189
- - spec/watirspec/pre_spec.rb
190
- - spec/watirspec/pres_spec.rb
191
- - spec/watirspec/ps_spec.rb
192
- - spec/watirspec/radio_spec.rb
193
- - spec/watirspec/radios_spec.rb
194
- - spec/watirspec/select_list_spec.rb
195
- - spec/watirspec/select_lists_spec.rb
196
- - spec/watirspec/span_spec.rb
197
- - spec/watirspec/spans_spec.rb
198
- - spec/watirspec/spec_helper.rb
199
- - spec/watirspec/strong_spec.rb
200
- - spec/watirspec/strongs_spec.rb
201
- - spec/watirspec/table_bodies_spec.rb
202
- - spec/watirspec/table_body_spec.rb
203
- - spec/watirspec/table_cell_spec.rb
204
- - spec/watirspec/table_cells_spec.rb
205
- - spec/watirspec/table_footer_spec.rb
206
- - spec/watirspec/table_footers_spec.rb
207
- - spec/watirspec/table_header_spec.rb
208
- - spec/watirspec/table_headers_spec.rb
209
- - spec/watirspec/table_row_spec.rb
210
- - spec/watirspec/table_rows_spec.rb
211
- - spec/watirspec/table_spec.rb
212
- - spec/watirspec/tables_spec.rb
213
- - spec/watirspec/text_field_spec.rb
214
- - spec/watirspec/text_fields_spec.rb
215
- - spec/watirspec/ul_spec.rb
216
- - spec/watirspec/uls_spec.rb
@@ -1,78 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Area" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/images.html")
8
- end
9
-
10
- # Exists method
11
- describe "#exist?" do
12
- it "returns true if the area exists" do
13
- browser.area(:id, "NCE").should exist
14
- browser.area(:id, /NCE/).should exist
15
- browser.area(:title, "Tables").should exist
16
- browser.area(:title, /Tables/).should exist
17
-
18
- bug "WTR-342", :watir do
19
- browser.area(:url, "tables.html").should exist
20
- browser.area(:url, /tables/).should exist
21
- browser.area(:href, "tables.html").should exist
22
- browser.area(:href, /tables/).should exist
23
- end
24
-
25
- browser.area(:index, 0).should exist
26
- browser.area(:xpath, "//area[@id='NCE']").should exist
27
- end
28
-
29
- it "returns false if the area doesn't exist" do
30
- browser.area(:id, "no_such_id").should_not exist
31
- browser.area(:id, /no_such_id/).should_not exist
32
- browser.area(:title, "no_such_title").should_not exist
33
- browser.area(:title, /no_such_title/).should_not exist
34
-
35
- bug "WTR-342", :watir do
36
- browser.area(:url, "no_such_href").should_not exist
37
- browser.area(:url, /no_such_href/).should_not exist
38
- browser.area(:href, "tables.html").should exist
39
- browser.area(:href, /tables/).should exist
40
- end
41
-
42
- browser.area(:index, 1337).should_not exist
43
- browser.area(:xpath, "//area[@id='no_such_id']").should_not exist
44
- end
45
-
46
- it "raises TypeError when 'what' argument is invalid" do
47
- lambda { browser.area(:id, 3.14).exists? }.should raise_error(TypeError)
48
- end
49
-
50
- it "raises MissingWayOfFindingObjectException when 'how' argument is invalid" do
51
- lambda { browser.area(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
52
- end
53
- end
54
-
55
- # Attribute methods
56
- describe "#id" do
57
- it "returns the id attribute" do
58
- browser.area(:index, 0).id.should == "NCE"
59
- end
60
-
61
- it "returns an empty string if the element exists and the attribute doesn't" do
62
- browser.area(:index, 2).id.should == ''
63
- end
64
-
65
- it "raises UnknownObjectException if the area doesn't exist" do
66
- lambda { browser.area(:id, "no_such_id").id }.should raise_error(UnknownObjectException)
67
- lambda { browser.area(:index, 1337).id }.should raise_error(UnknownObjectException)
68
- end
69
-
70
- end
71
-
72
- describe "#respond_to?" do
73
- it "returns true for all attribute methods" do
74
- browser.area(:index, 0).should respond_to(:id)
75
- end
76
- end
77
-
78
- end
@@ -1,31 +0,0 @@
1
- # encoding: utf-8
2
- require File.dirname(__FILE__) + '/spec_helper'
3
-
4
- describe "Areas" do
5
-
6
- before :each do
7
- browser.goto(WatirSpec.files + "/images.html")
8
- end
9
-
10
- describe "#length" do
11
- it "returns the number of areas" do
12
- browser.areas.length.should == 3
13
- end
14
- end
15
-
16
- describe "#[]" do
17
- it "returns the area at the given index" do
18
- browser.areas[0].id.should == "NCE"
19
- end
20
- end
21
-
22
- describe "#each" do
23
- it "iterates through areas correctly" do
24
- browser.areas.each_with_index do |a, index|
25
- a.id.should == browser.area(:index, index).id
26
- a.value.should == browser.area(:index, index).value
27
- end
28
- end
29
- end
30
-
31
- end