watir 6.13.0 → 6.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +141 -0
  3. data/.travis.yml +6 -0
  4. data/CHANGES.md +12 -0
  5. data/Gemfile +4 -10
  6. data/README.md +64 -49
  7. data/Rakefile +28 -16
  8. data/lib/watir.rb +13 -15
  9. data/lib/watir/adjacent.rb +15 -13
  10. data/lib/watir/after_hooks.rb +8 -10
  11. data/lib/watir/alert.rb +7 -8
  12. data/lib/watir/aliases.rb +2 -2
  13. data/lib/watir/attribute_helper.rb +18 -20
  14. data/lib/watir/browser.rb +42 -75
  15. data/lib/watir/capabilities.rb +19 -10
  16. data/lib/watir/cell_container.rb +0 -2
  17. data/lib/watir/container.rb +4 -4
  18. data/lib/watir/cookies.rb +7 -8
  19. data/lib/watir/element_collection.rb +37 -22
  20. data/lib/watir/elements/area.rb +0 -2
  21. data/lib/watir/elements/button.rb +1 -3
  22. data/lib/watir/elements/cell.rb +0 -1
  23. data/lib/watir/elements/checkbox.rb +5 -7
  24. data/lib/watir/elements/date_field.rb +5 -9
  25. data/lib/watir/elements/date_time_field.rb +6 -10
  26. data/lib/watir/elements/dlist.rb +2 -4
  27. data/lib/watir/elements/element.rb +201 -99
  28. data/lib/watir/elements/file_field.rb +3 -4
  29. data/lib/watir/elements/font.rb +2 -4
  30. data/lib/watir/elements/form.rb +0 -2
  31. data/lib/watir/elements/hidden.rb +3 -4
  32. data/lib/watir/elements/html_elements.rb +24 -76
  33. data/lib/watir/elements/iframe.rb +57 -71
  34. data/lib/watir/elements/image.rb +3 -4
  35. data/lib/watir/elements/input.rb +0 -2
  36. data/lib/watir/elements/link.rb +2 -5
  37. data/lib/watir/elements/list.rb +4 -4
  38. data/lib/watir/elements/option.rb +3 -6
  39. data/lib/watir/elements/radio.rb +4 -6
  40. data/lib/watir/elements/row.rb +0 -1
  41. data/lib/watir/elements/select.rb +41 -43
  42. data/lib/watir/elements/svg_elements.rb +0 -116
  43. data/lib/watir/elements/table.rb +1 -2
  44. data/lib/watir/elements/table_cell.rb +2 -3
  45. data/lib/watir/elements/text_field.rb +4 -6
  46. data/lib/watir/exception.rb +0 -1
  47. data/lib/watir/extensions/nokogiri.rb +2 -4
  48. data/lib/watir/generator.rb +3 -3
  49. data/lib/watir/generator/base.rb +10 -10
  50. data/lib/watir/generator/base/generator.rb +26 -29
  51. data/lib/watir/generator/base/idl_sorter.rb +34 -32
  52. data/lib/watir/generator/base/spec_extractor.rb +132 -114
  53. data/lib/watir/generator/base/util.rb +1 -3
  54. data/lib/watir/generator/base/visitor.rb +140 -140
  55. data/lib/watir/generator/html.rb +4 -4
  56. data/lib/watir/generator/html/generator.rb +2 -4
  57. data/lib/watir/generator/html/spec_extractor.rb +33 -33
  58. data/lib/watir/generator/html/visitor.rb +14 -14
  59. data/lib/watir/generator/svg.rb +3 -3
  60. data/lib/watir/generator/svg/generator.rb +1 -3
  61. data/lib/watir/generator/svg/spec_extractor.rb +35 -35
  62. data/lib/watir/generator/svg/visitor.rb +14 -14
  63. data/lib/watir/has_window.rb +2 -4
  64. data/lib/watir/js_execution.rb +7 -9
  65. data/lib/watir/js_snippets.rb +3 -3
  66. data/lib/watir/js_snippets/attributeValues.js +11 -0
  67. data/lib/watir/legacy_wait.rb +7 -12
  68. data/lib/watir/locators.rb +9 -11
  69. data/lib/watir/locators/button/locator.rb +2 -3
  70. data/lib/watir/locators/button/selector_builder.rb +9 -9
  71. data/lib/watir/locators/button/selector_builder/xpath.rb +1 -1
  72. data/lib/watir/locators/button/validator.rb +2 -2
  73. data/lib/watir/locators/cell/locator.rb +0 -2
  74. data/lib/watir/locators/cell/selector_builder.rb +3 -5
  75. data/lib/watir/locators/element/locator.rb +85 -64
  76. data/lib/watir/locators/element/selector_builder.rb +40 -38
  77. data/lib/watir/locators/element/selector_builder/xpath.rb +20 -18
  78. data/lib/watir/locators/element/validator.rb +1 -1
  79. data/lib/watir/locators/row/locator.rb +0 -2
  80. data/lib/watir/locators/row/selector_builder.rb +6 -9
  81. data/lib/watir/locators/text_area/selector_builder.rb +1 -1
  82. data/lib/watir/locators/text_field/locator.rb +1 -3
  83. data/lib/watir/locators/text_field/selector_builder.rb +5 -5
  84. data/lib/watir/locators/text_field/selector_builder/xpath.rb +1 -1
  85. data/lib/watir/locators/text_field/validator.rb +3 -2
  86. data/lib/watir/logger.rb +11 -21
  87. data/lib/watir/navigation.rb +49 -0
  88. data/lib/watir/radio_set.rb +17 -18
  89. data/lib/watir/row_container.rb +3 -5
  90. data/lib/watir/screenshot.rb +2 -4
  91. data/lib/watir/user_editable.rb +13 -8
  92. data/lib/watir/version.rb +3 -0
  93. data/lib/watir/wait.rb +56 -55
  94. data/lib/watir/wait/timer.rb +1 -3
  95. data/lib/watir/window.rb +36 -45
  96. data/lib/watir/xpath_support.rb +1 -3
  97. data/lib/watirspec.rb +11 -11
  98. data/lib/watirspec/guards.rb +10 -7
  99. data/lib/watirspec/implementation.rb +3 -4
  100. data/lib/watirspec/rake_tasks.rb +30 -29
  101. data/lib/watirspec/remote_server.rb +3 -3
  102. data/lib/watirspec/runner.rb +1 -2
  103. data/lib/watirspec/server.rb +3 -0
  104. data/lib/watirspec/server/app.rb +14 -6
  105. data/spec/implementation_spec.rb +9 -9
  106. data/spec/locator_spec_helper.rb +3 -4
  107. data/spec/spec_helper.rb +3 -7
  108. data/spec/unit/container_spec.rb +9 -10
  109. data/spec/unit/element_locator_spec.rb +224 -219
  110. data/spec/unit/logger_spec.rb +4 -4
  111. data/spec/unit/unit_helper.rb +0 -2
  112. data/spec/unit/wait_spec.rb +26 -28
  113. data/spec/watirspec/adjacent_spec.rb +130 -130
  114. data/spec/watirspec/after_hooks_spec.rb +63 -63
  115. data/spec/watirspec/alert_spec.rb +6 -6
  116. data/spec/watirspec/attributes_spec.rb +6 -6
  117. data/spec/watirspec/browser_spec.rb +161 -162
  118. data/spec/watirspec/click_spec.rb +9 -9
  119. data/spec/watirspec/cookies_spec.rb +15 -14
  120. data/spec/watirspec/drag_and_drop_spec.rb +15 -16
  121. data/spec/watirspec/element_hidden_spec.rb +19 -21
  122. data/spec/watirspec/elements/area_spec.rb +18 -21
  123. data/spec/watirspec/elements/areas_spec.rb +13 -15
  124. data/spec/watirspec/elements/button_spec.rb +96 -99
  125. data/spec/watirspec/elements/buttons_spec.rb +17 -19
  126. data/spec/watirspec/elements/checkbox_spec.rb +102 -100
  127. data/spec/watirspec/elements/checkboxes_spec.rb +13 -15
  128. data/spec/watirspec/elements/collections_spec.rb +35 -37
  129. data/spec/watirspec/elements/date_field_spec.rb +46 -47
  130. data/spec/watirspec/elements/date_fields_spec.rb +13 -15
  131. data/spec/watirspec/elements/date_time_field_spec.rb +62 -57
  132. data/spec/watirspec/elements/date_time_fields_spec.rb +14 -15
  133. data/spec/watirspec/elements/dd_spec.rb +46 -48
  134. data/spec/watirspec/elements/dds_spec.rb +13 -15
  135. data/spec/watirspec/elements/del_spec.rb +27 -28
  136. data/spec/watirspec/elements/dels_spec.rb +13 -15
  137. data/spec/watirspec/elements/div_spec.rb +89 -91
  138. data/spec/watirspec/elements/divs_spec.rb +17 -19
  139. data/spec/watirspec/elements/dl_spec.rb +52 -54
  140. data/spec/watirspec/elements/dls_spec.rb +13 -15
  141. data/spec/watirspec/elements/dt_spec.rb +46 -48
  142. data/spec/watirspec/elements/dts_spec.rb +13 -15
  143. data/spec/watirspec/elements/element_spec.rb +240 -189
  144. data/spec/watirspec/elements/elements_spec.rb +16 -16
  145. data/spec/watirspec/elements/em_spec.rb +38 -40
  146. data/spec/watirspec/elements/ems_spec.rb +13 -15
  147. data/spec/watirspec/elements/filefield_spec.rb +45 -46
  148. data/spec/watirspec/elements/filefields_spec.rb +13 -15
  149. data/spec/watirspec/elements/font_spec.rb +11 -13
  150. data/spec/watirspec/elements/form_spec.rb +13 -15
  151. data/spec/watirspec/elements/forms_spec.rb +13 -15
  152. data/spec/watirspec/elements/frame_spec.rb +48 -50
  153. data/spec/watirspec/elements/frames_spec.rb +13 -15
  154. data/spec/watirspec/elements/hidden_spec.rb +23 -25
  155. data/spec/watirspec/elements/hiddens_spec.rb +13 -15
  156. data/spec/watirspec/elements/hn_spec.rb +22 -24
  157. data/spec/watirspec/elements/hns_spec.rb +13 -13
  158. data/spec/watirspec/elements/iframe_spec.rb +106 -74
  159. data/spec/watirspec/elements/iframes_spec.rb +16 -18
  160. data/spec/watirspec/elements/image_spec.rb +30 -32
  161. data/spec/watirspec/elements/images_spec.rb +13 -15
  162. data/spec/watirspec/elements/input_spec.rb +4 -5
  163. data/spec/watirspec/elements/ins_spec.rb +27 -29
  164. data/spec/watirspec/elements/inses_spec.rb +13 -15
  165. data/spec/watirspec/elements/label_spec.rb +17 -19
  166. data/spec/watirspec/elements/labels_spec.rb +13 -15
  167. data/spec/watirspec/elements/li_spec.rb +23 -25
  168. data/spec/watirspec/elements/link_spec.rb +45 -48
  169. data/spec/watirspec/elements/links_spec.rb +14 -16
  170. data/spec/watirspec/elements/lis_spec.rb +13 -15
  171. data/spec/watirspec/elements/list_spec.rb +14 -15
  172. data/spec/watirspec/elements/map_spec.rb +19 -20
  173. data/spec/watirspec/elements/maps_spec.rb +13 -15
  174. data/spec/watirspec/elements/meta_spec.rb +10 -10
  175. data/spec/watirspec/elements/metas_spec.rb +13 -15
  176. data/spec/watirspec/elements/ol_spec.rb +20 -21
  177. data/spec/watirspec/elements/ols_spec.rb +13 -15
  178. data/spec/watirspec/elements/option_spec.rb +63 -63
  179. data/spec/watirspec/elements/p_spec.rb +27 -26
  180. data/spec/watirspec/elements/pre_spec.rb +24 -25
  181. data/spec/watirspec/elements/pres_spec.rb +13 -15
  182. data/spec/watirspec/elements/ps_spec.rb +13 -15
  183. data/spec/watirspec/elements/radio_spec.rb +96 -97
  184. data/spec/watirspec/elements/radios_spec.rb +13 -15
  185. data/spec/watirspec/elements/select_list_spec.rb +244 -237
  186. data/spec/watirspec/elements/select_lists_spec.rb +15 -16
  187. data/spec/watirspec/elements/span_spec.rb +32 -31
  188. data/spec/watirspec/elements/spans_spec.rb +13 -15
  189. data/spec/watirspec/elements/strong_spec.rb +23 -24
  190. data/spec/watirspec/elements/strongs_spec.rb +13 -15
  191. data/spec/watirspec/elements/table_nesting_spec.rb +15 -14
  192. data/spec/watirspec/elements/table_spec.rb +61 -62
  193. data/spec/watirspec/elements/tables_spec.rb +15 -17
  194. data/spec/watirspec/elements/tbody_spec.rb +25 -26
  195. data/spec/watirspec/elements/tbodys_spec.rb +17 -19
  196. data/spec/watirspec/elements/td_spec.rb +20 -22
  197. data/spec/watirspec/elements/tds_spec.rb +9 -11
  198. data/spec/watirspec/elements/text_field_spec.rb +55 -56
  199. data/spec/watirspec/elements/text_fields_spec.rb +15 -16
  200. data/spec/watirspec/elements/textarea_spec.rb +2 -2
  201. data/spec/watirspec/elements/textareas_spec.rb +1 -1
  202. data/spec/watirspec/elements/tfoot_spec.rb +22 -23
  203. data/spec/watirspec/elements/tfoots_spec.rb +19 -19
  204. data/spec/watirspec/elements/thead_spec.rb +21 -23
  205. data/spec/watirspec/elements/theads_spec.rb +19 -19
  206. data/spec/watirspec/elements/tr_spec.rb +20 -22
  207. data/spec/watirspec/elements/trs_spec.rb +17 -19
  208. data/spec/watirspec/elements/ul_spec.rb +17 -19
  209. data/spec/watirspec/elements/uls_spec.rb +13 -14
  210. data/spec/watirspec/html/data_attributes.html +1 -0
  211. data/spec/watirspec/radio_set_spec.rb +100 -99
  212. data/spec/watirspec/relaxed_locate_spec.rb +19 -43
  213. data/spec/watirspec/screenshot_spec.rb +4 -4
  214. data/spec/watirspec/special_chars_spec.rb +2 -4
  215. data/spec/watirspec/support/rspec_matchers.rb +85 -22
  216. data/spec/watirspec/user_editable_spec.rb +84 -85
  217. data/spec/watirspec/wait_spec.rb +74 -95
  218. data/spec/watirspec/window_switching_spec.rb +131 -132
  219. data/spec/watirspec_helper.rb +12 -9
  220. data/support/travis.sh +4 -0
  221. data/support/version_differ.rb +12 -13
  222. data/watir.gemspec +29 -22
  223. metadata +76 -50
@@ -1,34 +1,34 @@
1
- require "watirspec_helper"
2
-
3
- describe "SelectLists" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'SelectLists' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("forms_with_input_elements.html"))
5
+ browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
7
6
  end
8
7
 
9
- describe "with selectors" do
10
- it "returns the matching elements" do
11
- expect(browser.select_lists(name: "delete_user_username").to_a).to eq [browser.select_list(name: "delete_user_username")]
8
+ describe 'with selectors' do
9
+ it 'returns the matching elements' do
10
+ list = [browser.select_list(name: 'delete_user_username')]
11
+ expect(browser.select_lists(name: 'delete_user_username').to_a).to eq list
12
12
  end
13
13
  end
14
14
 
15
- describe "#length" do
16
- it "returns the correct number of select lists on the page" do
15
+ describe '#length' do
16
+ it 'returns the correct number of select lists on the page' do
17
17
  expect(browser.select_lists.length).to eq 6
18
18
  end
19
19
  end
20
20
 
21
- describe "#[]" do
22
- it "returns the correct item" do
23
- expect(browser.select_lists[0].value).to eq "2"
24
- expect(browser.select_lists[0].name).to eq "new_user_country"
21
+ describe '#[]' do
22
+ it 'returns the correct item' do
23
+ expect(browser.select_lists[0].value).to eq '2'
24
+ expect(browser.select_lists[0].name).to eq 'new_user_country'
25
25
  expect(browser.select_lists[0]).to_not be_multiple
26
26
  expect(browser.select_lists[1]).to be_multiple
27
27
  end
28
28
  end
29
29
 
30
- describe "#each" do
31
- it "iterates through the select lists correctly" do
30
+ describe '#each' do
31
+ it 'iterates through the select lists correctly' do
32
32
  count = 0
33
33
 
34
34
  browser.select_lists.each_with_index do |l, index|
@@ -42,5 +42,4 @@ describe "SelectLists" do
42
42
  expect(count).to be > 0
43
43
  end
44
44
  end
45
-
46
45
  end
@@ -1,34 +1,33 @@
1
- require "watirspec_helper"
2
-
3
- describe "Span" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'Span' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("non_control_elements.html"))
5
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
7
6
  end
8
7
 
9
8
  # Exists method
10
- describe "#exist?" do
9
+ describe '#exist?' do
11
10
  it "returns true if the 'span' exists" do
12
- expect(browser.span(id: "lead")).to exist
11
+ expect(browser.span(id: 'lead')).to exist
13
12
  expect(browser.span(id: /lead/)).to exist
14
- expect(browser.span(text: "Dubito, ergo cogito, ergo sum.")).to exist
13
+ expect(browser.span(text: 'Dubito, ergo cogito, ergo sum.')).to exist
15
14
  expect(browser.span(text: /Dubito, ergo cogito, ergo sum/)).to exist
16
- expect(browser.span(class: "lead")).to exist
15
+ expect(browser.span(class: 'lead')).to exist
17
16
  expect(browser.span(class: /lead/)).to exist
18
17
  expect(browser.span(index: 0)).to exist
19
18
  expect(browser.span(xpath: "//span[@id='lead']")).to exist
20
19
  end
21
20
 
22
- it "returns the first span if given no args" do
21
+ it 'returns the first span if given no args' do
23
22
  expect(browser.span).to exist
24
23
  end
25
24
 
26
25
  it "returns false if the element doesn't exist" do
27
- expect(browser.span(id: "no_such_id")).to_not exist
26
+ expect(browser.span(id: 'no_such_id')).to_not exist
28
27
  expect(browser.span(id: /no_such_id/)).to_not exist
29
- expect(browser.span(text: "no_such_text")).to_not exist
28
+ expect(browser.span(text: 'no_such_text')).to_not exist
30
29
  expect(browser.span(text: /no_such_text/)).to_not exist
31
- expect(browser.span(class: "no_such_class")).to_not exist
30
+ expect(browser.span(class: 'no_such_class')).to_not exist
32
31
  expect(browser.span(class: /no_such_class/)).to_not exist
33
32
  expect(browser.span(index: 1337)).to_not exist
34
33
  expect(browser.span(xpath: "//span[@id='no_such_id']")).to_not exist
@@ -40,8 +39,8 @@ describe "Span" do
40
39
  end
41
40
 
42
41
  # Attribute methods
43
- describe "#class_name" do
44
- it "returns the class attribute" do
42
+ describe '#class_name' do
43
+ it 'returns the class attribute' do
45
44
  expect(browser.span(index: 0).class_name).to eq 'lead'
46
45
  end
47
46
 
@@ -54,9 +53,9 @@ describe "Span" do
54
53
  end
55
54
  end
56
55
 
57
- describe "#id" do
58
- it "returns the id attribute" do
59
- expect(browser.span(index: 0).id).to eq "lead"
56
+ describe '#id' do
57
+ it 'returns the id attribute' do
58
+ expect(browser.span(index: 0).id).to eq 'lead'
60
59
  end
61
60
 
62
61
  it "returns an empty string if the element exists and the attribute doesn't" do
@@ -64,13 +63,13 @@ describe "Span" do
64
63
  end
65
64
 
66
65
  it "raises UnknownObjectException if the span doesn't exist" do
67
- expect { browser.span(id: "no_such_id").id }.to raise_unknown_object_exception
66
+ expect { browser.span(id: 'no_such_id').id }.to raise_unknown_object_exception
68
67
  expect { browser.span(index: 1337).id }.to raise_unknown_object_exception
69
68
  end
70
69
  end
71
70
 
72
- describe "#title" do
73
- it "returns the title attribute" do
71
+ describe '#title' do
72
+ it 'returns the title attribute' do
74
73
  expect(browser.span(index: 0).title).to eq 'Lorem ipsum'
75
74
  end
76
75
 
@@ -84,9 +83,12 @@ describe "Span" do
84
83
  end
85
84
  end
86
85
 
87
- describe "#text" do
88
- it "returns the text of the span" do
89
- expect(browser.span(index: 1).text).to eq 'Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.'
86
+ describe '#text' do
87
+ it 'returns the text of the span' do
88
+ msg = 'Sed pretium metus et quam. Nullam odio dolor, vestibulum non, tempor ut, vehicula sed, sapien. ' \
89
+ 'Vestibulum placerat ligula at quam. Pellentesque habitant morbi tristique senectus et netus et ' \
90
+ 'malesuada fames ac turpis egestas.'
91
+ expect(browser.span(index: 1).text).to eq msg
90
92
  end
91
93
 
92
94
  it "returns an empty string if the element doesn't contain any text" do
@@ -99,8 +101,8 @@ describe "Span" do
99
101
  end
100
102
  end
101
103
 
102
- describe "#respond_to?" do
103
- it "returns true for all attribute methods" do
104
+ describe '#respond_to?' do
105
+ it 'returns true for all attribute methods' do
104
106
  expect(browser.span(index: 0)).to respond_to(:class_name)
105
107
  expect(browser.span(index: 0)).to respond_to(:id)
106
108
  expect(browser.span(index: 0)).to respond_to(:title)
@@ -109,19 +111,18 @@ describe "Span" do
109
111
  end
110
112
 
111
113
  # Other
112
- not_compliant_on :headless do
113
- describe "#click" do
114
- it "fires events" do
114
+ not_compliant_on :headless do
115
+ describe '#click' do
116
+ it 'fires events' do
115
117
  expect(browser.span(class: 'footer').text).to_not include('Javascript')
116
118
  browser.span(class: 'footer').click
117
119
  expect(browser.span(class: 'footer').text).to include('Javascript')
118
120
  end
119
121
 
120
122
  it "raises UnknownObjectException if the span doesn't exist" do
121
- expect { browser.span(id: "no_such_id").click }.to raise_unknown_object_exception
122
- expect { browser.span(title: "no_such_title").click }.to raise_unknown_object_exception
123
+ expect { browser.span(id: 'no_such_id').click }.to raise_unknown_object_exception
124
+ expect { browser.span(title: 'no_such_title').click }.to raise_unknown_object_exception
123
125
  end
124
126
  end
125
127
  end
126
-
127
128
  end
@@ -1,31 +1,30 @@
1
- require "watirspec_helper"
2
-
3
- describe "Spans" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'Spans' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("non_control_elements.html"))
5
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
7
6
  end
8
7
 
9
- describe "with selectors" do
10
- it "returns the matching elements" do
11
- expect(browser.spans(class: "footer").to_a).to eq [browser.span(class: "footer")]
8
+ describe 'with selectors' do
9
+ it 'returns the matching elements' do
10
+ expect(browser.spans(class: 'footer').to_a).to eq [browser.span(class: 'footer')]
12
11
  end
13
12
  end
14
13
 
15
- describe "#length" do
16
- it "returns the number of spans" do
14
+ describe '#length' do
15
+ it 'returns the number of spans' do
17
16
  expect(browser.spans.length).to eq 7
18
17
  end
19
18
  end
20
19
 
21
- describe "#[]" do
22
- it "returns the p at the given index" do
23
- expect(browser.spans[0].id).to eq "lead"
20
+ describe '#[]' do
21
+ it 'returns the p at the given index' do
22
+ expect(browser.spans[0].id).to eq 'lead'
24
23
  end
25
24
  end
26
25
 
27
- describe "#each" do
28
- it "iterates through spans correctly" do
26
+ describe '#each' do
27
+ it 'iterates through spans correctly' do
29
28
  count = 0
30
29
 
31
30
  browser.spans.each_with_index do |s, index|
@@ -36,5 +35,4 @@ describe "Spans" do
36
35
  expect(count).to be > 0
37
36
  end
38
37
  end
39
-
40
38
  end
@@ -1,34 +1,33 @@
1
- require "watirspec_helper"
2
-
3
- describe "Strong" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'Strong' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("non_control_elements.html"))
5
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
7
6
  end
8
7
 
9
8
  # Exists method
10
- describe "#exist?" do
11
- it "returns true if the element exists" do
12
- expect(browser.strong(id: "descartes")).to exist
9
+ describe '#exist?' do
10
+ it 'returns true if the element exists' do
11
+ expect(browser.strong(id: 'descartes')).to exist
13
12
  expect(browser.strong(id: /descartes/)).to exist
14
- expect(browser.strong(text: "Dubito, ergo cogito, ergo sum.")).to exist
13
+ expect(browser.strong(text: 'Dubito, ergo cogito, ergo sum.')).to exist
15
14
  expect(browser.strong(text: /Dubito, ergo cogito, ergo sum/)).to exist
16
- expect(browser.strong(class: "descartes")).to exist
15
+ expect(browser.strong(class: 'descartes')).to exist
17
16
  expect(browser.strong(class: /descartes/)).to exist
18
17
  expect(browser.strong(index: 0)).to exist
19
18
  expect(browser.strong(xpath: "//strong[@id='descartes']")).to exist
20
19
  end
21
20
 
22
- it "returns the first strong if given no args" do
21
+ it 'returns the first strong if given no args' do
23
22
  expect(browser.strong).to exist
24
23
  end
25
24
 
26
25
  it "returns false if the element doesn't exist" do
27
- expect(browser.strong(id: "no_such_id")).to_not exist
26
+ expect(browser.strong(id: 'no_such_id')).to_not exist
28
27
  expect(browser.strong(id: /no_such_id/)).to_not exist
29
- expect(browser.strong(text: "no_such_text")).to_not exist
28
+ expect(browser.strong(text: 'no_such_text')).to_not exist
30
29
  expect(browser.strong(text: /no_such_text/)).to_not exist
31
- expect(browser.strong(class: "no_such_class")).to_not exist
30
+ expect(browser.strong(class: 'no_such_class')).to_not exist
32
31
  expect(browser.strong(class: /no_such_class/)).to_not exist
33
32
  expect(browser.strong(index: 1337)).to_not exist
34
33
  expect(browser.strong(xpath: "//strong[@id='no_such_id']")).to_not exist
@@ -40,8 +39,8 @@ describe "Strong" do
40
39
  end
41
40
 
42
41
  # Attribute methods
43
- describe "#class_name" do
44
- it "returns the class attribute" do
42
+ describe '#class_name' do
43
+ it 'returns the class attribute' do
45
44
  expect(browser.strong(index: 0).class_name).to eq 'descartes'
46
45
  end
47
46
 
@@ -54,20 +53,20 @@ describe "Strong" do
54
53
  end
55
54
  end
56
55
 
57
- describe "#id" do
58
- it "returns the id attribute" do
59
- expect(browser.strong(index: 0).id).to eq "descartes"
56
+ describe '#id' do
57
+ it 'returns the id attribute' do
58
+ expect(browser.strong(index: 0).id).to eq 'descartes'
60
59
  end
61
60
 
62
61
  it "raises UnknownObjectException if the element doesn't exist" do
63
- expect { browser.strong(id: "no_such_id").id }.to raise_unknown_object_exception
62
+ expect { browser.strong(id: 'no_such_id').id }.to raise_unknown_object_exception
64
63
  expect { browser.strong(index: 1337).id }.to raise_unknown_object_exception
65
64
  end
66
65
  end
67
66
 
68
- describe "#text" do
69
- it "returns the text of the element" do
70
- expect(browser.strong(index: 0).text).to eq "Dubito, ergo cogito, ergo sum."
67
+ describe '#text' do
68
+ it 'returns the text of the element' do
69
+ expect(browser.strong(index: 0).text).to eq 'Dubito, ergo cogito, ergo sum.'
71
70
  end
72
71
 
73
72
  it "raises UnknownObjectException if the element doesn't exist" do
@@ -76,8 +75,8 @@ describe "Strong" do
76
75
  end
77
76
  end
78
77
 
79
- describe "#respond_to?" do
80
- it "returns true for all attribute methods" do
78
+ describe '#respond_to?' do
79
+ it 'returns true for all attribute methods' do
81
80
  expect(browser.strong(index: 0)).to respond_to(:class_name)
82
81
  expect(browser.strong(index: 0)).to respond_to(:id)
83
82
  expect(browser.strong(index: 0)).to respond_to(:text)
@@ -1,31 +1,30 @@
1
- require "watirspec_helper"
2
-
3
- describe "Strongs" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'Strongs' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("non_control_elements.html"))
5
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
7
6
  end
8
7
 
9
- describe "with selectors" do
10
- it "returns the matching elements" do
11
- expect(browser.strongs(class: "descartes").to_a).to eq [browser.strong(class: "descartes")]
8
+ describe 'with selectors' do
9
+ it 'returns the matching elements' do
10
+ expect(browser.strongs(class: 'descartes').to_a).to eq [browser.strong(class: 'descartes')]
12
11
  end
13
12
  end
14
13
 
15
- describe "#length" do
16
- it "returns the number of divs" do
14
+ describe '#length' do
15
+ it 'returns the number of divs' do
17
16
  expect(browser.strongs.length).to eq 2
18
17
  end
19
18
  end
20
19
 
21
- describe "#[]" do
22
- it "returns the div at the given index" do
23
- expect(browser.strongs[0].id).to eq "descartes"
20
+ describe '#[]' do
21
+ it 'returns the div at the given index' do
22
+ expect(browser.strongs[0].id).to eq 'descartes'
24
23
  end
25
24
  end
26
25
 
27
- describe "#each" do
28
- it "iterates through divs correctly" do
26
+ describe '#each' do
27
+ it 'iterates through divs correctly' do
29
28
  count = 0
30
29
 
31
30
  browser.strongs.each_with_index do |s, index|
@@ -39,5 +38,4 @@ describe "Strongs" do
39
38
  expect(count).to be > 0
40
39
  end
41
40
  end
42
-
43
41
  end
@@ -1,15 +1,14 @@
1
- require "watirspec_helper"
2
-
3
- describe "Table" do
1
+ require 'watirspec_helper'
4
2
 
3
+ describe 'Table' do
5
4
  before :each do
6
- browser.goto(WatirSpec.url_for("nested_tables.html"))
5
+ browser.goto(WatirSpec.url_for('nested_tables.html'))
7
6
  end
8
7
 
9
8
  # not a selenium bug - IE seems unable to deal with the invalid nesting
10
9
  not_compliant_on :internet_explorer do
11
- it "returns the correct number of rows under a table" do
12
- tables = browser.div(id: "table-rows-test").tables(id: /^tbl/)
10
+ it 'returns the correct number of rows under a table' do
11
+ tables = browser.div(id: 'table-rows-test').tables(id: /^tbl/)
13
12
  expect(tables.length).to be > 0
14
13
 
15
14
  tables.each do |table|
@@ -17,12 +16,13 @@ describe "Table" do
17
16
  actual = table.rows.length
18
17
  browser_count = Integer(table.data_browser_count)
19
18
 
20
- expect(actual).to eql(expected), "expected #{expected} rows, got #{actual} for table id=#{table.id}, browser reported: #{browser_count}"
19
+ msg = "expected #{expected} rows, got #{actual} for table id=#{table.id}, browser reported: #{browser_count}"
20
+ expect(actual).to eql(expected), msg
21
21
  end
22
22
  end
23
23
 
24
- it "returns the correct number of cells under a row" do
25
- rows = browser.div(id: "row-cells-test").trs(id: /^row/)
24
+ it 'returns the correct number of cells under a row' do
25
+ rows = browser.div(id: 'row-cells-test').trs(id: /^row/)
26
26
  expect(rows.length).to be > 0
27
27
 
28
28
  rows.each do |row|
@@ -30,12 +30,13 @@ describe "Table" do
30
30
  actual = row.cells.length
31
31
  browser_count = Integer(row.data_browser_count)
32
32
 
33
- expect(actual).to eql(expected), "expected #{expected} cells, got #{actual} for row id=#{row.id}, browser reported: #{browser_count}"
33
+ msg = "expected #{expected} cells, got #{actual} for row id=#{row.id}, browser reported: #{browser_count}"
34
+ expect(actual).to eql(expected), msg
34
35
  end
35
36
  end
36
37
 
37
- it "returns the correct number of rows under a table section" do
38
- tbodies = browser.table(id: "tbody-rows-test").tbodys(id: /^body/)
38
+ it 'returns the correct number of rows under a table section' do
39
+ tbodies = browser.table(id: 'tbody-rows-test').tbodys(id: /^body/)
39
40
  expect(tbodies.length).to be > 0
40
41
 
41
42
  tbodies.each do |tbody|
@@ -43,9 +44,9 @@ describe "Table" do
43
44
  actual = tbody.rows.count
44
45
  browser_count = Integer(tbody.data_browser_count)
45
46
 
46
- expect(actual).to eql(expected), "expected #{expected} rows, got #{actual} for tbody id=#{tbody.id}, browser reported: #{browser_count}"
47
+ msg = "expected #{expected} rows, got #{actual} for tbody id=#{tbody.id}, browser reported: #{browser_count}"
48
+ expect(actual).to eql(expected), msg
47
49
  end
48
50
  end
49
51
  end
50
-
51
52
  end