watir 7.2.0 → 7.2.1

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 (139) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/chrome.yml +1 -1
  3. data/.github/workflows/edge.yml +1 -1
  4. data/.github/workflows/firefox.yml +1 -1
  5. data/.github/workflows/ie.yml +1 -1
  6. data/.github/workflows/safari.yml +1 -1
  7. data/.github/workflows/unit.yml +1 -1
  8. data/.rubocop.yml +25 -12
  9. data/.rubocop_todo.yml +8 -1
  10. data/CHANGES.md +6 -1
  11. data/LICENSE +2 -2
  12. data/lib/watir/capabilities.rb +1 -1
  13. data/lib/watir/locators/anchor/selector_builder.rb +3 -0
  14. data/lib/watir/locators/element/matcher.rb +2 -1
  15. data/lib/watir/locators/element/selector_builder/regexp_disassembler.rb +2 -1
  16. data/lib/watir/locators/text_field/matcher.rb +0 -4
  17. data/lib/watir/version.rb +1 -1
  18. data/spec/locator_spec_helper.rb +0 -8
  19. data/spec/unit/capabilities_spec.rb +553 -561
  20. data/spec/unit/element_locator_spec.rb +89 -78
  21. data/spec/unit/match_elements/button_spec.rb +69 -62
  22. data/spec/unit/match_elements/element_spec.rb +303 -309
  23. data/spec/unit/match_elements/text_field_spec.rb +76 -73
  24. data/spec/unit/selector_builder/anchor_spec.rb +39 -33
  25. data/spec/unit/selector_builder/button_spec.rb +209 -202
  26. data/spec/unit/selector_builder/cell_spec.rb +48 -42
  27. data/spec/unit/selector_builder/element_spec.rb +634 -627
  28. data/spec/unit/selector_builder/row_spec.rb +119 -113
  29. data/spec/unit/selector_builder/text_field_spec.rb +195 -188
  30. data/spec/unit/selector_builder/textarea_spec.rb +22 -14
  31. data/spec/unit/wait_spec.rb +85 -81
  32. data/spec/watirspec/adjacent_spec.rb +249 -247
  33. data/spec/watirspec/after_hooks_spec.rb +161 -159
  34. data/spec/watirspec/alert_spec.rb +61 -58
  35. data/spec/watirspec/browser_spec.rb +409 -409
  36. data/spec/watirspec/capabilities_spec.rb +89 -99
  37. data/spec/watirspec/cookies_spec.rb +120 -118
  38. data/spec/watirspec/drag_and_drop_spec.rb +26 -24
  39. data/spec/watirspec/element_hidden_spec.rb +66 -60
  40. data/spec/watirspec/elements/area_spec.rb +49 -47
  41. data/spec/watirspec/elements/areas_spec.rb +27 -25
  42. data/spec/watirspec/elements/button_spec.rb +253 -251
  43. data/spec/watirspec/elements/buttons_spec.rb +36 -34
  44. data/spec/watirspec/elements/checkbox_spec.rb +48 -36
  45. data/spec/watirspec/elements/checkboxes_spec.rb +29 -27
  46. data/spec/watirspec/elements/collections_spec.rb +126 -119
  47. data/spec/watirspec/elements/date_field_spec.rb +185 -183
  48. data/spec/watirspec/elements/date_fields_spec.rb +29 -27
  49. data/spec/watirspec/elements/date_time_field_spec.rb +197 -195
  50. data/spec/watirspec/elements/date_time_fields_spec.rb +30 -28
  51. data/spec/watirspec/elements/dd_spec.rb +87 -85
  52. data/spec/watirspec/elements/dds_spec.rb +27 -25
  53. data/spec/watirspec/elements/del_spec.rb +106 -104
  54. data/spec/watirspec/elements/dels_spec.rb +26 -24
  55. data/spec/watirspec/elements/div_spec.rb +225 -221
  56. data/spec/watirspec/elements/divs_spec.rb +37 -35
  57. data/spec/watirspec/elements/dl_spec.rb +110 -108
  58. data/spec/watirspec/elements/dls_spec.rb +28 -26
  59. data/spec/watirspec/elements/dt_spec.rb +86 -84
  60. data/spec/watirspec/elements/dts_spec.rb +27 -25
  61. data/spec/watirspec/elements/element_spec.rb +794 -775
  62. data/spec/watirspec/elements/elements_spec.rb +40 -38
  63. data/spec/watirspec/elements/em_spec.rb +62 -60
  64. data/spec/watirspec/elements/ems_spec.rb +28 -26
  65. data/spec/watirspec/elements/filefield_spec.rb +116 -114
  66. data/spec/watirspec/elements/filefields_spec.rb +28 -26
  67. data/spec/watirspec/elements/font_spec.rb +20 -18
  68. data/spec/watirspec/elements/form_spec.rb +51 -49
  69. data/spec/watirspec/elements/forms_spec.rb +29 -27
  70. data/spec/watirspec/elements/frame_spec.rb +89 -87
  71. data/spec/watirspec/elements/frames_spec.rb +27 -25
  72. data/spec/watirspec/elements/hidden_spec.rb +81 -79
  73. data/spec/watirspec/elements/hiddens_spec.rb +28 -26
  74. data/spec/watirspec/elements/hn_spec.rb +59 -57
  75. data/spec/watirspec/elements/hns_spec.rb +26 -24
  76. data/spec/watirspec/elements/iframe_spec.rb +195 -191
  77. data/spec/watirspec/elements/iframes_spec.rb +31 -29
  78. data/spec/watirspec/elements/image_spec.rb +148 -146
  79. data/spec/watirspec/elements/images_spec.rb +26 -24
  80. data/spec/watirspec/elements/input_spec.rb +9 -7
  81. data/spec/watirspec/elements/ins_spec.rb +106 -104
  82. data/spec/watirspec/elements/inses_spec.rb +26 -24
  83. data/spec/watirspec/elements/label_spec.rb +56 -54
  84. data/spec/watirspec/elements/labels_spec.rb +26 -24
  85. data/spec/watirspec/elements/li_spec.rb +76 -74
  86. data/spec/watirspec/elements/link_spec.rb +173 -177
  87. data/spec/watirspec/elements/links_spec.rb +45 -43
  88. data/spec/watirspec/elements/lis_spec.rb +27 -25
  89. data/spec/watirspec/elements/list_spec.rb +44 -42
  90. data/spec/watirspec/elements/map_spec.rb +57 -55
  91. data/spec/watirspec/elements/maps_spec.rb +27 -25
  92. data/spec/watirspec/elements/meta_spec.rb +16 -14
  93. data/spec/watirspec/elements/metas_spec.rb +26 -24
  94. data/spec/watirspec/elements/ol_spec.rb +56 -65
  95. data/spec/watirspec/elements/ols_spec.rb +26 -24
  96. data/spec/watirspec/elements/option_spec.rb +91 -89
  97. data/spec/watirspec/elements/p_spec.rb +81 -79
  98. data/spec/watirspec/elements/pre_spec.rb +77 -75
  99. data/spec/watirspec/elements/pres_spec.rb +26 -24
  100. data/spec/watirspec/elements/ps_spec.rb +26 -24
  101. data/spec/watirspec/elements/radio_spec.rb +251 -249
  102. data/spec/watirspec/elements/radios_spec.rb +28 -26
  103. data/spec/watirspec/elements/select_list_spec.rb +537 -526
  104. data/spec/watirspec/elements/select_lists_spec.rb +32 -30
  105. data/spec/watirspec/elements/span_spec.rb +112 -110
  106. data/spec/watirspec/elements/spans_spec.rb +26 -24
  107. data/spec/watirspec/elements/strong_spec.rb +58 -58
  108. data/spec/watirspec/elements/strongs_spec.rb +28 -26
  109. data/spec/watirspec/elements/table_spec.rb +192 -139
  110. data/spec/watirspec/elements/tables_spec.rb +28 -26
  111. data/spec/watirspec/elements/tbody_spec.rb +74 -72
  112. data/spec/watirspec/elements/tbodys_spec.rb +40 -38
  113. data/spec/watirspec/elements/td_spec.rb +66 -64
  114. data/spec/watirspec/elements/tds_spec.rb +41 -39
  115. data/spec/watirspec/elements/text_field_spec.rb +206 -204
  116. data/spec/watirspec/elements/text_fields_spec.rb +30 -28
  117. data/spec/watirspec/elements/textarea_spec.rb +20 -18
  118. data/spec/watirspec/elements/textareas_spec.rb +18 -16
  119. data/spec/watirspec/elements/tfoot_spec.rb +65 -63
  120. data/spec/watirspec/elements/tfoots_spec.rb +42 -40
  121. data/spec/watirspec/elements/thead_spec.rb +65 -63
  122. data/spec/watirspec/elements/theads_spec.rb +42 -40
  123. data/spec/watirspec/elements/tr_spec.rb +48 -46
  124. data/spec/watirspec/elements/trs_spec.rb +42 -40
  125. data/spec/watirspec/elements/ul_spec.rb +56 -54
  126. data/spec/watirspec/elements/uls_spec.rb +26 -24
  127. data/spec/watirspec/radio_set_spec.rb +269 -267
  128. data/spec/watirspec/screenshot_spec.rb +20 -18
  129. data/spec/watirspec/scroll_spec.rb +152 -148
  130. data/spec/watirspec/shadow_root_spec.rb +86 -83
  131. data/spec/watirspec/user_editable_spec.rb +200 -198
  132. data/spec/watirspec/wait_spec.rb +289 -295
  133. data/spec/watirspec/window_switching_spec.rb +422 -434
  134. data/spec/watirspec_helper.rb +1 -23
  135. data/watir.gemspec +5 -4
  136. metadata +44 -33
  137. data/spec/watirspec/attributes_spec.rb +0 -18
  138. data/spec/watirspec/elements/table_nesting_spec.rb +0 -51
  139. data/spec/watirspec/special_chars_spec.rb +0 -23
@@ -2,39 +2,41 @@
2
2
 
3
3
  require 'watirspec_helper'
4
4
 
5
- describe 'Inses' do
6
- before :each do
7
- browser.goto(WatirSpec.url_for('non_control_elements.html'))
8
- end
5
+ module Watir
6
+ describe 'Inses' do
7
+ before do
8
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
9
+ end
9
10
 
10
- describe 'with selectors' do
11
- it 'returns the matching elements' do
12
- expect(browser.inses(class: 'lead').to_a).to eq [browser.ins(class: 'lead')]
11
+ describe 'with selectors' do
12
+ it 'returns the matching elements' do
13
+ expect(browser.inses(class: 'lead').to_a).to eq [browser.ins(class: 'lead')]
14
+ end
13
15
  end
14
- end
15
16
 
16
- describe '#length' do
17
- it 'returns the number of inses' do
18
- expect(browser.inses.length).to eq 5
17
+ describe '#length' do
18
+ it 'returns the number of inses' do
19
+ expect(browser.inses.length).to eq 5
20
+ end
19
21
  end
20
- end
21
22
 
22
- describe '#[]' do
23
- it 'returns the ins at the given index' do
24
- expect(browser.inses[0].id).to eq 'lead'
23
+ describe '#[]' do
24
+ it 'returns the ins at the given index' do
25
+ expect(browser.inses[0].id).to eq 'lead'
26
+ end
25
27
  end
26
- end
27
28
 
28
- describe '#each' do
29
- it 'iterates through inses correctly' do
30
- count = 0
29
+ describe '#each' do
30
+ it 'iterates through inses correctly' do
31
+ count = 0
31
32
 
32
- browser.inses.each_with_index do |s, index|
33
- expect(s.id).to eq browser.ins(index: index).id
34
- count += 1
35
- end
33
+ browser.inses.each_with_index do |s, index|
34
+ expect(s.id).to eq browser.ins(index: index).id
35
+ count += 1
36
+ end
36
37
 
37
- expect(count).to be > 0
38
+ expect(count).to be > 0
39
+ end
38
40
  end
39
41
  end
40
42
  end
@@ -2,74 +2,76 @@
2
2
 
3
3
  require 'watirspec_helper'
4
4
 
5
- describe 'Label' do
6
- before :each do
7
- browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
8
- end
9
-
10
- # Exists method
11
- describe '#exists?' do
12
- it 'returns true if the element exists' do
13
- expect(browser.label(id: 'first_label')).to exist
14
- expect(browser.label(id: /first_label/)).to exist
15
- expect(browser.label(for: 'new_user_first_name')).to exist
16
- expect(browser.label(for: /new_user_first_name/)).to exist
17
- expect(browser.label(text: 'First name')).to exist
18
- expect(browser.label(text: /First name/)).to exist
19
- expect(browser.label(index: 0)).to exist
20
- expect(browser.label(xpath: "//label[@id='first_label']")).to exist
5
+ module Watir
6
+ describe Label do
7
+ before do
8
+ browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
21
9
  end
22
10
 
23
- it 'returns the first label if given no args' do
24
- expect(browser.label).to exist
25
- end
11
+ # Exists method
12
+ describe '#exists?' do
13
+ it 'returns true if the element exists' do
14
+ expect(browser.label(id: 'first_label')).to exist
15
+ expect(browser.label(id: /first_label/)).to exist
16
+ expect(browser.label(for: 'new_user_first_name')).to exist
17
+ expect(browser.label(for: /new_user_first_name/)).to exist
18
+ expect(browser.label(text: 'First name')).to exist
19
+ expect(browser.label(text: /First name/)).to exist
20
+ expect(browser.label(index: 0)).to exist
21
+ expect(browser.label(xpath: "//label[@id='first_label']")).to exist
22
+ end
26
23
 
27
- it 'returns false if the element does not exist' do
28
- expect(browser.label(id: 'no_such_id')).to_not exist
29
- expect(browser.label(id: /no_such_id/)).to_not exist
30
- expect(browser.label(text: 'no_such_text')).to_not exist
31
- expect(browser.label(text: /no_such_text/)).to_not exist
32
- expect(browser.label(index: 1337)).to_not exist
33
- expect(browser.label(xpath: "//input[@id='no_such_id']")).to_not exist
34
- end
24
+ it 'returns the first label if given no args' do
25
+ expect(browser.label).to exist
26
+ end
35
27
 
36
- it "raises TypeError when 'what' argument is invalid" do
37
- expect { browser.label(id: 3.14).exists? }.to raise_error(TypeError)
38
- end
39
- end
28
+ it 'returns false if the element does not exist' do
29
+ expect(browser.label(id: 'no_such_id')).not_to exist
30
+ expect(browser.label(id: /no_such_id/)).not_to exist
31
+ expect(browser.label(text: 'no_such_text')).not_to exist
32
+ expect(browser.label(text: /no_such_text/)).not_to exist
33
+ expect(browser.label(index: 1337)).not_to exist
34
+ expect(browser.label(xpath: "//input[@id='no_such_id']")).not_to exist
35
+ end
40
36
 
41
- describe 'click' do
42
- it 'fires the onclick event' do
43
- browser.label(id: 'first_label').click
44
- expect(messages.first).to eq 'label'
37
+ it "raises TypeError when 'what' argument is invalid" do
38
+ expect { browser.label(id: 3.14).exists? }.to raise_error(TypeError)
39
+ end
45
40
  end
46
- end
47
41
 
48
- # Attribute methods
49
- describe '#id' do
50
- it 'returns the id attribute if the label exists' do
51
- expect(browser.label(index: 0).id).to eq 'first_label'
42
+ describe 'click' do
43
+ it 'fires the onclick event' do
44
+ browser.label(id: 'first_label').click
45
+ expect(messages.first).to eq 'label'
46
+ end
52
47
  end
53
48
 
54
- it "raises UnknownObjectException if the label doesn't exist" do
55
- expect { browser.label(index: 1337).id }.to raise_unknown_object_exception
56
- end
57
- end
49
+ # Attribute methods
50
+ describe '#id' do
51
+ it 'returns the id attribute if the label exists' do
52
+ expect(browser.label(index: 0).id).to eq 'first_label'
53
+ end
58
54
 
59
- describe '#for' do
60
- it "returns the 'for' attribute if the label exists" do
61
- expect(browser.label(index: 0).for).to eq 'new_user_first_name'
55
+ it "raises UnknownObjectException if the label doesn't exist" do
56
+ expect { browser.label(index: 1337).id }.to raise_unknown_object_exception
57
+ end
62
58
  end
63
59
 
64
- it "raises UnknownObjectException if the label doesn't exist" do
65
- expect { browser.label(index: 1337).for }.to raise_unknown_object_exception
60
+ describe '#for' do
61
+ it "returns the 'for' attribute if the label exists" do
62
+ expect(browser.label(index: 0).for).to eq 'new_user_first_name'
63
+ end
64
+
65
+ it "raises UnknownObjectException if the label doesn't exist" do
66
+ expect { browser.label(index: 1337).for }.to raise_unknown_object_exception
67
+ end
66
68
  end
67
- end
68
69
 
69
- describe '#respond_to?' do
70
- it 'returns true for all attribute methods' do
71
- expect(browser.label(index: 0)).to respond_to(:id)
72
- expect(browser.label(index: 0)).to respond_to(:for)
70
+ describe '#respond_to?' do
71
+ it 'returns true for all attribute methods' do
72
+ expect(browser.label(index: 0)).to respond_to(:id)
73
+ expect(browser.label(index: 0)).to respond_to(:for)
74
+ end
73
75
  end
74
76
  end
75
77
  end
@@ -2,39 +2,41 @@
2
2
 
3
3
  require 'watirspec_helper'
4
4
 
5
- describe 'Labels' do
6
- before :each do
7
- browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
8
- end
5
+ module Watir
6
+ describe LabelCollection do
7
+ before do
8
+ browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
9
+ end
9
10
 
10
- describe 'with selectors' do
11
- it 'returns the matching elements' do
12
- expect(browser.labels(for: 'new_user_first_name').to_a).to eq [browser.label(for: 'new_user_first_name')]
11
+ describe 'with selectors' do
12
+ it 'returns the matching elements' do
13
+ expect(browser.labels(for: 'new_user_first_name').to_a).to eq [browser.label(for: 'new_user_first_name')]
14
+ end
13
15
  end
14
- end
15
16
 
16
- describe '#length' do
17
- it 'returns the number of labels' do
18
- expect(browser.labels.length).to eq 45
17
+ describe '#length' do
18
+ it 'returns the number of labels' do
19
+ expect(browser.labels.length).to eq 45
20
+ end
19
21
  end
20
- end
21
22
 
22
- describe '#[]' do
23
- it 'returns the label at the given index' do
24
- expect(browser.labels[0].id).to eq 'first_label'
23
+ describe '#[]' do
24
+ it 'returns the label at the given index' do
25
+ expect(browser.labels[0].id).to eq 'first_label'
26
+ end
25
27
  end
26
- end
27
28
 
28
- describe '#each' do
29
- it 'iterates through labels correctly' do
30
- count = 0
29
+ describe '#each' do
30
+ it 'iterates through labels correctly' do
31
+ count = 0
31
32
 
32
- browser.labels.each_with_index do |l, index|
33
- expect(l.id).to eq browser.label(index: index).id
34
- count += 1
35
- end
33
+ browser.labels.each_with_index do |l, index|
34
+ expect(l.id).to eq browser.label(index: index).id
35
+ count += 1
36
+ end
36
37
 
37
- expect(count).to be > 0
38
+ expect(count).to be > 0
39
+ end
38
40
  end
39
41
  end
40
42
  end
@@ -2,96 +2,98 @@
2
2
 
3
3
  require 'watirspec_helper'
4
4
 
5
- describe 'Li' do
6
- before :each do
7
- browser.goto(WatirSpec.url_for('non_control_elements.html'))
8
- end
9
-
10
- # Exists method
11
- describe '#exist?' do
12
- it "returns true if the 'li' exists" do
13
- expect(browser.li(id: 'non_link_1')).to exist
14
- expect(browser.li(id: /non_link_1/)).to exist
15
- expect(browser.li(text: 'Non-link 3')).to exist
16
- expect(browser.li(text: /Non-link 3/)).to exist
17
- expect(browser.li(class: 'nonlink')).to exist
18
- expect(browser.li(class: /nonlink/)).to exist
19
- expect(browser.li(index: 0)).to exist
20
- expect(browser.li(xpath: "//li[@id='non_link_1']")).to exist
21
- end
22
-
23
- it 'returns the first element if given no args' do
24
- expect(browser.li).to exist
5
+ module Watir
6
+ describe LI do
7
+ before do
8
+ browser.goto(WatirSpec.url_for('non_control_elements.html'))
25
9
  end
26
10
 
27
- it "returns false if the 'li' doesn't exist" do
28
- expect(browser.li(id: 'no_such_id')).to_not exist
29
- expect(browser.li(id: /no_such_id/)).to_not exist
30
- expect(browser.li(text: 'no_such_text')).to_not exist
31
- expect(browser.li(text: /no_such_text/)).to_not exist
32
- expect(browser.li(class: 'no_such_class')).to_not exist
33
- expect(browser.li(class: /no_such_class/)).to_not exist
34
- expect(browser.li(index: 1337)).to_not exist
35
- expect(browser.li(xpath: "//li[@id='no_such_id']")).to_not exist
11
+ # Exists method
12
+ describe '#exist?' do
13
+ it "returns true if the 'li' exists" do
14
+ expect(browser.li(id: 'non_link_1')).to exist
15
+ expect(browser.li(id: /non_link_1/)).to exist
16
+ expect(browser.li(text: 'Non-link 3')).to exist
17
+ expect(browser.li(text: /Non-link 3/)).to exist
18
+ expect(browser.li(class: 'nonlink')).to exist
19
+ expect(browser.li(class: /nonlink/)).to exist
20
+ expect(browser.li(index: 0)).to exist
21
+ expect(browser.li(xpath: "//li[@id='non_link_1']")).to exist
22
+ end
23
+
24
+ it 'returns the first element if given no args' do
25
+ expect(browser.li).to exist
26
+ end
27
+
28
+ it "returns false if the 'li' doesn't exist" do
29
+ expect(browser.li(id: 'no_such_id')).not_to exist
30
+ expect(browser.li(id: /no_such_id/)).not_to exist
31
+ expect(browser.li(text: 'no_such_text')).not_to exist
32
+ expect(browser.li(text: /no_such_text/)).not_to exist
33
+ expect(browser.li(class: 'no_such_class')).not_to exist
34
+ expect(browser.li(class: /no_such_class/)).not_to exist
35
+ expect(browser.li(index: 1337)).not_to exist
36
+ expect(browser.li(xpath: "//li[@id='no_such_id']")).not_to exist
37
+ end
38
+
39
+ it "raises TypeError when 'what' argument is invalid" do
40
+ expect { browser.li(id: 3.14).exists? }.to raise_error(TypeError)
41
+ end
36
42
  end
37
43
 
38
- it "raises TypeError when 'what' argument is invalid" do
39
- expect { browser.li(id: 3.14).exists? }.to raise_error(TypeError)
40
- end
41
- end
42
-
43
- # Attribute methods
44
- describe '#id' do
45
- it 'returns the id attribute' do
46
- expect(browser.li(class: 'nonlink').id).to eq 'non_link_1'
47
- end
44
+ # Attribute methods
45
+ describe '#id' do
46
+ it 'returns the id attribute' do
47
+ expect(browser.li(class: 'nonlink').id).to eq 'non_link_1'
48
+ end
48
49
 
49
- it "returns an empty string if the element exists and the attribute doesn't" do
50
- expect(browser.li(index: 0).id).to eq ''
51
- end
50
+ it "returns an empty string if the element exists and the attribute doesn't" do
51
+ expect(browser.li(index: 0).id).to eq ''
52
+ end
52
53
 
53
- it "raises UnknownObjectException if the li doesn't exist" do
54
- expect { browser.li(id: 'no_such_id').id }.to raise_unknown_object_exception
55
- expect { browser.li(index: 1337).id }.to raise_unknown_object_exception
54
+ it "raises UnknownObjectException if the li doesn't exist" do
55
+ expect { browser.li(id: 'no_such_id').id }.to raise_unknown_object_exception
56
+ expect { browser.li(index: 1337).id }.to raise_unknown_object_exception
57
+ end
56
58
  end
57
- end
58
59
 
59
- describe '#title' do
60
- it 'returns the title attribute' do
61
- expect(browser.li(id: 'non_link_1').title).to eq 'This is not a link!'
62
- end
60
+ describe '#title' do
61
+ it 'returns the title attribute' do
62
+ expect(browser.li(id: 'non_link_1').title).to eq 'This is not a link!'
63
+ end
63
64
 
64
- it "returns an empty string if the element exists and the attribute doesn't" do
65
- expect(browser.li(index: 0).title).to eq ''
66
- end
65
+ it "returns an empty string if the element exists and the attribute doesn't" do
66
+ expect(browser.li(index: 0).title).to eq ''
67
+ end
67
68
 
68
- it "raises UnknownObjectException if the li doesn't exist" do
69
- expect { browser.li(id: 'no_such_id').title }.to raise_unknown_object_exception
70
- expect { browser.li(xpath: "//li[@id='no_such_id']").title }.to raise_unknown_object_exception
69
+ it "raises UnknownObjectException if the li doesn't exist" do
70
+ expect { browser.li(id: 'no_such_id').title }.to raise_unknown_object_exception
71
+ expect { browser.li(xpath: "//li[@id='no_such_id']").title }.to raise_unknown_object_exception
72
+ end
71
73
  end
72
- end
73
74
 
74
- describe '#text' do
75
- it 'returns the text of the li' do
76
- expect(browser.li(id: 'non_link_1').text).to eq 'Non-link 1'
77
- end
75
+ describe '#text' do
76
+ it 'returns the text of the li' do
77
+ expect(browser.li(id: 'non_link_1').text).to eq 'Non-link 1'
78
+ end
78
79
 
79
- it "returns an empty string if the element doesn't contain any text" do
80
- expect(browser.li(index: 0).text).to eq ''
81
- end
80
+ it "returns an empty string if the element doesn't contain any text" do
81
+ expect(browser.li(index: 0).text).to eq ''
82
+ end
82
83
 
83
- it "raises UnknownObjectException if the li doesn't exist" do
84
- expect { browser.li(id: 'no_such_id').text }.to raise_unknown_object_exception
85
- expect { browser.li(xpath: "//li[@id='no_such_id']").text }.to raise_unknown_object_exception
84
+ it "raises UnknownObjectException if the li doesn't exist" do
85
+ expect { browser.li(id: 'no_such_id').text }.to raise_unknown_object_exception
86
+ expect { browser.li(xpath: "//li[@id='no_such_id']").text }.to raise_unknown_object_exception
87
+ end
86
88
  end
87
- end
88
89
 
89
- describe '#respond_to?' do
90
- it 'returns true for all attribute methods' do
91
- expect(browser.li(index: 0)).to respond_to(:class_name)
92
- expect(browser.li(index: 0)).to respond_to(:id)
93
- expect(browser.li(index: 0)).to respond_to(:text)
94
- expect(browser.li(index: 0)).to respond_to(:title)
90
+ describe '#respond_to?' do
91
+ it 'returns true for all attribute methods' do
92
+ expect(browser.li(index: 0)).to respond_to(:class_name)
93
+ expect(browser.li(index: 0)).to respond_to(:id)
94
+ expect(browser.li(index: 0)).to respond_to(:text)
95
+ expect(browser.li(index: 0)).to respond_to(:title)
96
+ end
95
97
  end
96
98
  end
97
99
  end