watir 6.10.1 → 6.10.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.document +5 -5
- data/.github/ISSUE_TEMPLATE.md +16 -16
- data/.gitignore +21 -21
- data/.travis.yml +72 -72
- data/CHANGES.md +4 -0
- data/Gemfile +16 -16
- data/LICENSE +23 -23
- data/README.md +106 -106
- data/Rakefile +153 -153
- data/appveyor.yml +13 -13
- data/lib/watir-webdriver.rb +2 -2
- data/lib/watir.rb +158 -158
- data/lib/watir/adjacent.rb +126 -126
- data/lib/watir/after_hooks.rb +132 -132
- data/lib/watir/alert.rb +120 -120
- data/lib/watir/aliases.rb +6 -6
- data/lib/watir/attribute_helper.rb +96 -96
- data/lib/watir/browser.rb +349 -349
- data/lib/watir/capabilities.rb +123 -123
- data/lib/watir/cell_container.rb +25 -25
- data/lib/watir/container.rb +51 -51
- data/lib/watir/cookies.rb +134 -134
- data/lib/watir/element_collection.rb +138 -138
- data/lib/watir/elements/area.rb +12 -12
- data/lib/watir/elements/button.rb +37 -37
- data/lib/watir/elements/cell.rb +17 -17
- data/lib/watir/elements/checkbox.rb +56 -56
- data/lib/watir/elements/dlist.rb +12 -12
- data/lib/watir/elements/element.rb +2 -2
- data/lib/watir/elements/file_field.rb +41 -41
- data/lib/watir/elements/font.rb +25 -25
- data/lib/watir/elements/form.rb +16 -16
- data/lib/watir/elements/hidden.rb +25 -25
- data/lib/watir/elements/html_elements.rb +2035 -2035
- data/lib/watir/elements/iframe.rb +166 -166
- data/lib/watir/elements/image.rb +21 -21
- data/lib/watir/elements/input.rb +15 -15
- data/lib/watir/elements/link.rb +18 -18
- data/lib/watir/elements/list.rb +49 -49
- data/lib/watir/elements/option.rb +72 -72
- data/lib/watir/elements/radio.rb +60 -60
- data/lib/watir/elements/row.rb +17 -17
- data/lib/watir/elements/select.rb +250 -250
- data/lib/watir/elements/svg_elements.rb +613 -613
- data/lib/watir/elements/table.rb +76 -76
- data/lib/watir/elements/table_cell.rb +31 -31
- data/lib/watir/elements/table_row.rb +32 -32
- data/lib/watir/elements/table_section.rb +15 -15
- data/lib/watir/elements/text_area.rb +5 -5
- data/lib/watir/elements/text_field.rb +39 -39
- data/lib/watir/exception.rb +16 -16
- data/lib/watir/extensions/nokogiri.rb +14 -14
- data/lib/watir/generator.rb +3 -3
- data/lib/watir/generator/base.rb +11 -11
- data/lib/watir/generator/base/generator.rb +115 -115
- data/lib/watir/generator/base/idl_sorter.rb +47 -47
- data/lib/watir/generator/base/spec_extractor.rb +138 -138
- data/lib/watir/generator/base/util.rb +21 -21
- data/lib/watir/generator/base/visitor.rb +162 -162
- data/lib/watir/generator/html.rb +15 -15
- data/lib/watir/generator/html/generator.rb +36 -36
- data/lib/watir/generator/html/spec_extractor.rb +50 -50
- data/lib/watir/generator/html/visitor.rb +21 -21
- data/lib/watir/generator/svg.rb +7 -7
- data/lib/watir/generator/svg/generator.rb +38 -38
- data/lib/watir/generator/svg/spec_extractor.rb +53 -53
- data/lib/watir/generator/svg/visitor.rb +21 -21
- data/lib/watir/has_window.rb +68 -68
- data/lib/watir/js_execution.rb +143 -143
- data/lib/watir/js_snippets.rb +16 -16
- data/lib/watir/js_snippets/backgroundColor.js +7 -7
- data/lib/watir/js_snippets/fireEvent.js +31 -31
- data/lib/watir/js_snippets/focus.js +3 -3
- data/lib/watir/js_snippets/getInnerHtml.js +19 -19
- data/lib/watir/js_snippets/getInnerText.js +19 -19
- data/lib/watir/js_snippets/getOuterHtml.js +20 -20
- data/lib/watir/js_snippets/getTextContent.js +19 -19
- data/lib/watir/js_snippets/isImageLoaded.js +3 -3
- data/lib/watir/js_snippets/selectOptionsLabel.js +10 -10
- data/lib/watir/js_snippets/selectOptionsText.js +10 -10
- data/lib/watir/js_snippets/selectOptionsValue.js +10 -10
- data/lib/watir/js_snippets/selectText.js +64 -64
- data/lib/watir/js_snippets/selectedOptions.js +11 -11
- data/lib/watir/js_snippets/setValue.js +3 -3
- data/lib/watir/legacy_wait.rb +126 -126
- data/lib/watir/locators.rb +60 -60
- data/lib/watir/locators/button/locator.rb +31 -31
- data/lib/watir/locators/button/selector_builder.rb +30 -30
- data/lib/watir/locators/button/selector_builder/xpath.rb +29 -29
- data/lib/watir/locators/button/validator.rb +15 -15
- data/lib/watir/locators/cell/locator.rb +15 -15
- data/lib/watir/locators/cell/selector_builder.rb +24 -24
- data/lib/watir/locators/element/selector_builder.rb +150 -150
- data/lib/watir/locators/element/selector_builder/xpath.rb +119 -119
- data/lib/watir/locators/element/validator.rb +18 -18
- data/lib/watir/locators/row/locator.rb +15 -15
- data/lib/watir/locators/row/selector_builder.rb +29 -29
- data/lib/watir/locators/text_area/locator.rb +13 -13
- data/lib/watir/locators/text_area/selector_builder.rb +22 -22
- data/lib/watir/locators/text_field/locator.rb +30 -30
- data/lib/watir/locators/text_field/selector_builder.rb +31 -31
- data/lib/watir/locators/text_field/selector_builder/xpath.rb +17 -17
- data/lib/watir/locators/text_field/validator.rb +12 -12
- data/lib/watir/logger.rb +109 -109
- data/lib/watir/radio_set.rb +231 -231
- data/lib/watir/row_container.rb +36 -36
- data/lib/watir/screenshot.rb +50 -50
- data/lib/watir/user_editable.rb +56 -56
- data/lib/watir/wait.rb +200 -200
- data/lib/watir/wait/timer.rb +52 -52
- data/lib/watir/window.rb +257 -257
- data/lib/watir/xpath_support.rb +20 -20
- data/lib/watirspec.rb +86 -86
- data/lib/watirspec/guards.rb +60 -60
- data/lib/watirspec/implementation.rb +51 -51
- data/lib/watirspec/rake_tasks.rb +115 -115
- data/lib/watirspec/remote_server.rb +38 -38
- data/lib/watirspec/runner.rb +53 -53
- data/lib/watirspec/server.rb +99 -99
- data/lib/watirspec/server/app.rb +76 -76
- data/spec/browser_spec.rb +278 -278
- data/spec/click_spec.rb +19 -19
- data/spec/container_spec.rb +34 -34
- data/spec/element_locator_spec.rb +517 -517
- data/spec/element_spec.rb +158 -158
- data/spec/implementation_spec.rb +24 -24
- data/spec/input_spec.rb +14 -14
- data/spec/locator_spec_helper.rb +55 -55
- data/spec/logger_spec.rb +46 -46
- data/spec/spec_helper.rb +22 -22
- data/spec/special_chars_spec.rb +13 -13
- data/spec/watirspec/adjacent_spec.rb +227 -227
- data/spec/watirspec/after_hooks_spec.rb +182 -182
- data/spec/watirspec/alert_spec.rb +108 -108
- data/spec/watirspec/attributes_spec.rb +16 -16
- data/spec/watirspec/browser_spec.rb +281 -281
- data/spec/watirspec/cookies_spec.rb +154 -154
- data/spec/watirspec/drag_and_drop_spec.rb +49 -49
- data/spec/watirspec/element_hidden_spec.rb +75 -75
- data/spec/watirspec/elements/area_spec.rb +72 -72
- data/spec/watirspec/elements/areas_spec.rb +42 -42
- data/spec/watirspec/elements/button_spec.rb +277 -277
- data/spec/watirspec/elements/buttons_spec.rb +55 -55
- data/spec/watirspec/elements/checkbox_spec.rb +275 -275
- data/spec/watirspec/elements/checkboxes_spec.rb +44 -44
- data/spec/watirspec/elements/collections_spec.rb +52 -52
- data/spec/watirspec/elements/dd_spec.rb +124 -124
- data/spec/watirspec/elements/dds_spec.rb +42 -42
- data/spec/watirspec/elements/del_spec.rb +126 -126
- data/spec/watirspec/elements/dels_spec.rb +40 -40
- data/spec/watirspec/elements/div_spec.rb +245 -245
- data/spec/watirspec/elements/divs_spec.rb +42 -42
- data/spec/watirspec/elements/dl_spec.rb +142 -142
- data/spec/watirspec/elements/dls_spec.rb +43 -43
- data/spec/watirspec/elements/dt_spec.rb +122 -122
- data/spec/watirspec/elements/dts_spec.rb +42 -42
- data/spec/watirspec/elements/element_spec.rb +483 -483
- data/spec/watirspec/elements/elements_spec.rb +47 -47
- data/spec/watirspec/elements/em_spec.rb +96 -96
- data/spec/watirspec/elements/ems_spec.rb +43 -43
- data/spec/watirspec/elements/filefield_spec.rb +170 -170
- data/spec/watirspec/elements/filefields_spec.rb +43 -43
- data/spec/watirspec/elements/font_spec.rb +29 -29
- data/spec/watirspec/elements/form_spec.rb +66 -66
- data/spec/watirspec/elements/forms_spec.rb +46 -46
- data/spec/watirspec/elements/frame_spec.rb +123 -123
- data/spec/watirspec/elements/frames_spec.rb +41 -41
- data/spec/watirspec/elements/hidden_spec.rb +104 -104
- data/spec/watirspec/elements/hiddens_spec.rb +43 -43
- data/spec/watirspec/elements/hn_spec.rb +92 -92
- data/spec/watirspec/elements/hns_spec.rb +38 -38
- data/spec/watirspec/elements/iframe_spec.rb +3 -0
- data/spec/watirspec/elements/iframes_spec.rb +47 -47
- data/spec/watirspec/elements/image_spec.rb +158 -158
- data/spec/watirspec/elements/images_spec.rb +40 -40
- data/spec/watirspec/elements/ins_spec.rb +127 -127
- data/spec/watirspec/elements/inses_spec.rb +40 -40
- data/spec/watirspec/elements/label_spec.rb +75 -75
- data/spec/watirspec/elements/labels_spec.rb +40 -40
- data/spec/watirspec/elements/li_spec.rb +111 -111
- data/spec/watirspec/elements/link_spec.rb +171 -171
- data/spec/watirspec/elements/links_spec.rb +44 -44
- data/spec/watirspec/elements/lis_spec.rb +42 -42
- data/spec/watirspec/elements/list_spec.rb +32 -32
- data/spec/watirspec/elements/map_spec.rb +75 -75
- data/spec/watirspec/elements/maps_spec.rb +41 -41
- data/spec/watirspec/elements/meta_spec.rb +23 -23
- data/spec/watirspec/elements/metas_spec.rb +40 -40
- data/spec/watirspec/elements/ol_spec.rb +87 -87
- data/spec/watirspec/elements/ols_spec.rb +40 -40
- data/spec/watirspec/elements/option_spec.rb +121 -121
- data/spec/watirspec/elements/p_spec.rb +111 -111
- data/spec/watirspec/elements/pre_spec.rb +111 -111
- data/spec/watirspec/elements/pres_spec.rb +40 -40
- data/spec/watirspec/elements/ps_spec.rb +40 -40
- data/spec/watirspec/elements/radio_spec.rb +273 -273
- data/spec/watirspec/elements/radios_spec.rb +43 -43
- data/spec/watirspec/elements/select_list_spec.rb +553 -553
- data/spec/watirspec/elements/select_lists_spec.rb +46 -46
- data/spec/watirspec/elements/span_spec.rb +128 -128
- data/spec/watirspec/elements/spans_spec.rb +40 -40
- data/spec/watirspec/elements/strong_spec.rb +88 -88
- data/spec/watirspec/elements/strongs_spec.rb +43 -43
- data/spec/watirspec/elements/table_nesting_spec.rb +51 -51
- data/spec/watirspec/elements/table_spec.rb +156 -156
- data/spec/watirspec/elements/tables_spec.rb +42 -42
- data/spec/watirspec/elements/tbody_spec.rb +93 -93
- data/spec/watirspec/elements/tbodys_spec.rb +62 -62
- data/spec/watirspec/elements/td_spec.rb +93 -93
- data/spec/watirspec/elements/tds_spec.rb +53 -53
- data/spec/watirspec/elements/text_field_spec.rb +360 -360
- data/spec/watirspec/elements/text_fields_spec.rb +44 -44
- data/spec/watirspec/elements/textarea_spec.rb +26 -26
- data/spec/watirspec/elements/textareas_spec.rb +24 -24
- data/spec/watirspec/elements/tfoot_spec.rb +86 -86
- data/spec/watirspec/elements/tfoots_spec.rb +68 -68
- data/spec/watirspec/elements/thead_spec.rb +86 -86
- data/spec/watirspec/elements/theads_spec.rb +68 -68
- data/spec/watirspec/elements/tr_spec.rb +78 -78
- data/spec/watirspec/elements/trs_spec.rb +61 -61
- data/spec/watirspec/elements/ul_spec.rb +76 -76
- data/spec/watirspec/elements/uls_spec.rb +39 -39
- data/spec/watirspec/html/alerts.html +12 -12
- data/spec/watirspec/html/aria_attributes.html +9 -9
- data/spec/watirspec/html/class_locator.html +8 -8
- data/spec/watirspec/html/clicks.html +19 -19
- data/spec/watirspec/html/closeable.html +12 -12
- data/spec/watirspec/html/collections.html +14 -14
- data/spec/watirspec/html/css/jquery-ui-1.8.17.custom.css +286 -286
- data/spec/watirspec/html/data_attributes.html +9 -9
- data/spec/watirspec/html/definition_lists.html +47 -47
- data/spec/watirspec/html/drag_and_drop.html +106 -106
- data/spec/watirspec/html/font.html +10 -10
- data/spec/watirspec/html/forms_with_input_elements.html +174 -174
- data/spec/watirspec/html/frame_1.html +22 -22
- data/spec/watirspec/html/frame_2.html +15 -15
- data/spec/watirspec/html/frames.html +10 -10
- data/spec/watirspec/html/hover.html +11 -11
- data/spec/watirspec/html/iframe_1.html +22 -22
- data/spec/watirspec/html/iframes.html +12 -12
- data/spec/watirspec/html/images.html +27 -27
- data/spec/watirspec/html/inner_outer.html +4 -4
- data/spec/watirspec/html/javascript/angular.min.js +331 -331
- data/spec/watirspec/html/javascript/helpers.js +16 -16
- data/spec/watirspec/html/javascript/jquery-1.7.1.min.js +3 -3
- data/spec/watirspec/html/javascript/jquery-ui-1.8.17.custom.min.js +67 -67
- data/spec/watirspec/html/keylogger.html +14 -14
- data/spec/watirspec/html/modal_dialog.html +9 -9
- data/spec/watirspec/html/multiple_ids.html +14 -14
- data/spec/watirspec/html/nested_elements.html +33 -33
- data/spec/watirspec/html/nested_frame_2.html +9 -9
- data/spec/watirspec/html/nested_frame_3.html +14 -14
- data/spec/watirspec/html/nested_frames.html +10 -10
- data/spec/watirspec/html/nested_iframe_2.html +12 -12
- data/spec/watirspec/html/nested_iframes.html +13 -13
- data/spec/watirspec/html/nested_tables.html +202 -202
- data/spec/watirspec/html/non_control_elements.html +140 -140
- data/spec/watirspec/html/removed_element.html +24 -24
- data/spec/watirspec/html/right_click.html +10 -10
- data/spec/watirspec/html/special_chars.html +11 -11
- data/spec/watirspec/html/tables.html +120 -120
- data/spec/watirspec/html/timeout_window_location.html +19 -19
- data/spec/watirspec/html/uneven_table.html +20 -20
- data/spec/watirspec/html/wait.html +84 -84
- data/spec/watirspec/html/window_switching.html +11 -11
- data/spec/watirspec/radio_set_spec.rb +336 -336
- data/spec/watirspec/relaxed_locate_spec.rb +99 -99
- data/spec/watirspec/screenshot_spec.rb +29 -29
- data/spec/watirspec/support/raise_exception_matchers.rb +36 -36
- data/spec/watirspec/wait_spec.rb +381 -381
- data/spec/watirspec/window_switching_spec.rb +415 -415
- data/spec/watirspec_helper.rb +161 -161
- data/support/appveyor.cmd +9 -9
- data/support/doctest_helper.rb +101 -101
- data/support/travis.sh +11 -11
- data/support/version_differ.rb +59 -59
- data/watir.gemspec +1 -1
- metadata +169 -3
@@ -1,111 +1,111 @@
|
|
1
|
-
require "watirspec_helper"
|
2
|
-
|
3
|
-
describe "P" do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
-
end
|
8
|
-
|
9
|
-
# Exists method
|
10
|
-
describe "#exist?" do
|
11
|
-
it "returns true if the 'p' exists" do
|
12
|
-
expect(browser.p(id: "lead")).to exist
|
13
|
-
expect(browser.p(id: /lead/)).to exist
|
14
|
-
expect(browser.p(text: "Dubito, ergo cogito, ergo sum.")).to exist
|
15
|
-
expect(browser.p(text: /Dubito, ergo cogito, ergo sum/)).to exist
|
16
|
-
expect(browser.p(class: "lead")).to exist
|
17
|
-
expect(browser.p(class: /lead/)).to exist
|
18
|
-
expect(browser.p(index: 0)).to exist
|
19
|
-
expect(browser.p(xpath: "//p[@id='lead']")).to exist
|
20
|
-
end
|
21
|
-
|
22
|
-
it "returns the first p if given no args" do
|
23
|
-
expect(browser.p).to exist
|
24
|
-
end
|
25
|
-
|
26
|
-
it "returns false if the 'p' doesn't exist" do
|
27
|
-
expect(browser.p(id: "no_such_id")).to_not exist
|
28
|
-
expect(browser.p(id: /no_such_id/)).to_not exist
|
29
|
-
expect(browser.p(text: "no_such_text")).to_not exist
|
30
|
-
expect(browser.p(text: /no_such_text/)).to_not exist
|
31
|
-
expect(browser.p(class: "no_such_class")).to_not exist
|
32
|
-
expect(browser.p(class: /no_such_class/)).to_not exist
|
33
|
-
expect(browser.p(index: 1337)).to_not exist
|
34
|
-
expect(browser.p(xpath: "//p[@id='no_such_id']")).to_not exist
|
35
|
-
end
|
36
|
-
|
37
|
-
it "raises TypeError when 'what' argument is invalid" do
|
38
|
-
expect { browser.p(id: 3.14).exists? }.to raise_error(TypeError)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Attribute methods
|
43
|
-
describe "#class_name" do
|
44
|
-
it "returns the class attribute" do
|
45
|
-
expect(browser.p(index: 0).class_name).to eq 'lead'
|
46
|
-
end
|
47
|
-
|
48
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
49
|
-
expect(browser.p(index: 2).class_name).to eq ''
|
50
|
-
end
|
51
|
-
|
52
|
-
it "raises UnknownObjectException if the p doesn't exist" do
|
53
|
-
expect { browser.p(id: 'no_such_id').class_name }.to raise_unknown_object_exception
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
describe "#id" do
|
58
|
-
it "returns the id attribute" do
|
59
|
-
expect(browser.p(index: 0).id).to eq "lead"
|
60
|
-
end
|
61
|
-
|
62
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
63
|
-
expect(browser.p(index: 2).id).to eq ''
|
64
|
-
end
|
65
|
-
|
66
|
-
it "raises UnknownObjectException if the p doesn't exist" do
|
67
|
-
expect { browser.p(id: "no_such_id").id }.to raise_unknown_object_exception
|
68
|
-
expect { browser.p(index: 1337).id }.to raise_unknown_object_exception
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe "#title" do
|
73
|
-
it "returns the title attribute" do
|
74
|
-
expect(browser.p(index: 0).title).to eq 'Lorem ipsum'
|
75
|
-
end
|
76
|
-
|
77
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
78
|
-
expect(browser.p(index: 2).title).to eq ''
|
79
|
-
end
|
80
|
-
|
81
|
-
it "raises UnknownObjectException if the p doesn't exist" do
|
82
|
-
expect { browser.p(id: 'no_such_id').title }.to raise_unknown_object_exception
|
83
|
-
expect { browser.p(xpath: "//p[@id='no_such_id']").title }.to raise_unknown_object_exception
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
describe "#text" do
|
88
|
-
it "returns the text of the p" do
|
89
|
-
expect(browser.p(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.'
|
90
|
-
end
|
91
|
-
|
92
|
-
it "returns an empty string if the element doesn't contain any text" do
|
93
|
-
expect(browser.p(index: 4).text).to eq ''
|
94
|
-
end
|
95
|
-
|
96
|
-
it "raises UnknownObjectException if the p doesn't exist" do
|
97
|
-
expect { browser.p(id: 'no_such_id').text }.to raise_unknown_object_exception
|
98
|
-
expect { browser.p(:xpath , "//p[@id='no_such_id']").text }.to raise_unknown_object_exception
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
describe "#respond_to?" do
|
103
|
-
it "returns true for all attribute methods" do
|
104
|
-
expect(browser.p(index: 0)).to respond_to(:class_name)
|
105
|
-
expect(browser.p(index: 0)).to respond_to(:id)
|
106
|
-
expect(browser.p(index: 0)).to respond_to(:title)
|
107
|
-
expect(browser.p(index: 0)).to respond_to(:text)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
1
|
+
require "watirspec_helper"
|
2
|
+
|
3
|
+
describe "P" do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
+
end
|
8
|
+
|
9
|
+
# Exists method
|
10
|
+
describe "#exist?" do
|
11
|
+
it "returns true if the 'p' exists" do
|
12
|
+
expect(browser.p(id: "lead")).to exist
|
13
|
+
expect(browser.p(id: /lead/)).to exist
|
14
|
+
expect(browser.p(text: "Dubito, ergo cogito, ergo sum.")).to exist
|
15
|
+
expect(browser.p(text: /Dubito, ergo cogito, ergo sum/)).to exist
|
16
|
+
expect(browser.p(class: "lead")).to exist
|
17
|
+
expect(browser.p(class: /lead/)).to exist
|
18
|
+
expect(browser.p(index: 0)).to exist
|
19
|
+
expect(browser.p(xpath: "//p[@id='lead']")).to exist
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns the first p if given no args" do
|
23
|
+
expect(browser.p).to exist
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the 'p' doesn't exist" do
|
27
|
+
expect(browser.p(id: "no_such_id")).to_not exist
|
28
|
+
expect(browser.p(id: /no_such_id/)).to_not exist
|
29
|
+
expect(browser.p(text: "no_such_text")).to_not exist
|
30
|
+
expect(browser.p(text: /no_such_text/)).to_not exist
|
31
|
+
expect(browser.p(class: "no_such_class")).to_not exist
|
32
|
+
expect(browser.p(class: /no_such_class/)).to_not exist
|
33
|
+
expect(browser.p(index: 1337)).to_not exist
|
34
|
+
expect(browser.p(xpath: "//p[@id='no_such_id']")).to_not exist
|
35
|
+
end
|
36
|
+
|
37
|
+
it "raises TypeError when 'what' argument is invalid" do
|
38
|
+
expect { browser.p(id: 3.14).exists? }.to raise_error(TypeError)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Attribute methods
|
43
|
+
describe "#class_name" do
|
44
|
+
it "returns the class attribute" do
|
45
|
+
expect(browser.p(index: 0).class_name).to eq 'lead'
|
46
|
+
end
|
47
|
+
|
48
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
49
|
+
expect(browser.p(index: 2).class_name).to eq ''
|
50
|
+
end
|
51
|
+
|
52
|
+
it "raises UnknownObjectException if the p doesn't exist" do
|
53
|
+
expect { browser.p(id: 'no_such_id').class_name }.to raise_unknown_object_exception
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "#id" do
|
58
|
+
it "returns the id attribute" do
|
59
|
+
expect(browser.p(index: 0).id).to eq "lead"
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
63
|
+
expect(browser.p(index: 2).id).to eq ''
|
64
|
+
end
|
65
|
+
|
66
|
+
it "raises UnknownObjectException if the p doesn't exist" do
|
67
|
+
expect { browser.p(id: "no_such_id").id }.to raise_unknown_object_exception
|
68
|
+
expect { browser.p(index: 1337).id }.to raise_unknown_object_exception
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "#title" do
|
73
|
+
it "returns the title attribute" do
|
74
|
+
expect(browser.p(index: 0).title).to eq 'Lorem ipsum'
|
75
|
+
end
|
76
|
+
|
77
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
78
|
+
expect(browser.p(index: 2).title).to eq ''
|
79
|
+
end
|
80
|
+
|
81
|
+
it "raises UnknownObjectException if the p doesn't exist" do
|
82
|
+
expect { browser.p(id: 'no_such_id').title }.to raise_unknown_object_exception
|
83
|
+
expect { browser.p(xpath: "//p[@id='no_such_id']").title }.to raise_unknown_object_exception
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "#text" do
|
88
|
+
it "returns the text of the p" do
|
89
|
+
expect(browser.p(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.'
|
90
|
+
end
|
91
|
+
|
92
|
+
it "returns an empty string if the element doesn't contain any text" do
|
93
|
+
expect(browser.p(index: 4).text).to eq ''
|
94
|
+
end
|
95
|
+
|
96
|
+
it "raises UnknownObjectException if the p doesn't exist" do
|
97
|
+
expect { browser.p(id: 'no_such_id').text }.to raise_unknown_object_exception
|
98
|
+
expect { browser.p(:xpath , "//p[@id='no_such_id']").text }.to raise_unknown_object_exception
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe "#respond_to?" do
|
103
|
+
it "returns true for all attribute methods" do
|
104
|
+
expect(browser.p(index: 0)).to respond_to(:class_name)
|
105
|
+
expect(browser.p(index: 0)).to respond_to(:id)
|
106
|
+
expect(browser.p(index: 0)).to respond_to(:title)
|
107
|
+
expect(browser.p(index: 0)).to respond_to(:text)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
@@ -1,111 +1,111 @@
|
|
1
|
-
require "watirspec_helper"
|
2
|
-
|
3
|
-
describe "Pre" do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
-
end
|
8
|
-
|
9
|
-
# Exists method
|
10
|
-
describe "#exist?" do
|
11
|
-
it "returns true if the 'p' exists" do
|
12
|
-
expect(browser.pre(id: "rspec")).to exist
|
13
|
-
expect(browser.pre(id: /rspec/)).to exist
|
14
|
-
expect(browser.pre(text: 'browser.pre(id: "rspec").should exist')).to exist
|
15
|
-
expect(browser.pre(text: /browser\.pre/)).to exist
|
16
|
-
expect(browser.pre(class: "ruby")).to exist
|
17
|
-
expect(browser.pre(class: /ruby/)).to exist
|
18
|
-
expect(browser.pre(index: 0)).to exist
|
19
|
-
expect(browser.pre(xpath: "//pre[@id='rspec']")).to exist
|
20
|
-
end
|
21
|
-
|
22
|
-
it "returns the first pre if given no args" do
|
23
|
-
expect(browser.pre).to exist
|
24
|
-
end
|
25
|
-
|
26
|
-
it "returns false if the 'p' doesn't exist" do
|
27
|
-
expect(browser.pre(id: "no_such_id")).to_not exist
|
28
|
-
expect(browser.pre(id: /no_such_id/)).to_not exist
|
29
|
-
expect(browser.pre(text: "no_such_text")).to_not exist
|
30
|
-
expect(browser.pre(text: /no_such_text/)).to_not exist
|
31
|
-
expect(browser.pre(class: "no_such_class")).to_not exist
|
32
|
-
expect(browser.pre(class: /no_such_class/)).to_not exist
|
33
|
-
expect(browser.pre(index: 1337)).to_not exist
|
34
|
-
expect(browser.pre(xpath: "//pre[@id='no_such_id']")).to_not exist
|
35
|
-
end
|
36
|
-
|
37
|
-
it "raises TypeError when 'what' argument is invalid" do
|
38
|
-
expect { browser.pre(id: 3.14).exists? }.to raise_error(TypeError)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# Attribute methods
|
43
|
-
describe "#class_name" do
|
44
|
-
it "returns the class attribute" do
|
45
|
-
expect(browser.pre(id: 'rspec').class_name).to eq 'ruby'
|
46
|
-
end
|
47
|
-
|
48
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
49
|
-
expect(browser.pre(index: 0).class_name).to eq ''
|
50
|
-
end
|
51
|
-
|
52
|
-
it "raises UnknownObjectException if the p doesn't exist" do
|
53
|
-
expect { browser.pre(id: 'no_such_id').class_name }.to raise_unknown_object_exception
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
describe "#id" do
|
58
|
-
it "returns the id attribute" do
|
59
|
-
expect(browser.pre(class: 'ruby').id).to eq "rspec"
|
60
|
-
end
|
61
|
-
|
62
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
63
|
-
expect(browser.pre(index: 0).id).to eq ''
|
64
|
-
end
|
65
|
-
|
66
|
-
it "raises UnknownObjectException if the pre doesn't exist" do
|
67
|
-
expect { browser.pre(id: "no_such_id").id }.to raise_unknown_object_exception
|
68
|
-
expect { browser.pre(index: 1337).id }.to raise_unknown_object_exception
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe "#title" do
|
73
|
-
it "returns the title attribute" do
|
74
|
-
expect(browser.pre(class: 'brainfuck').title).to eq 'The brainfuck language is an esoteric programming language noted for its extreme minimalism'
|
75
|
-
end
|
76
|
-
|
77
|
-
it "returns an empty string if the element exists and the attribute doesn't" do
|
78
|
-
expect(browser.pre(index: 0).title).to eq ''
|
79
|
-
end
|
80
|
-
|
81
|
-
it "raises UnknownObjectException if the pre doesn't exist" do
|
82
|
-
expect { browser.pre(id: 'no_such_id').title }.to raise_unknown_object_exception
|
83
|
-
expect { browser.pre(xpath: "//pre[@id='no_such_id']").title }.to raise_unknown_object_exception
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
describe "#text" do
|
88
|
-
it "returns the text of the pre" do
|
89
|
-
expect(browser.pre(class: 'haskell').text).to eq 'main = putStrLn "Hello World"'
|
90
|
-
end
|
91
|
-
|
92
|
-
it "returns an empty string if the element doesn't contain any text" do
|
93
|
-
expect(browser.pre(index: 0).text).to eq ''
|
94
|
-
end
|
95
|
-
|
96
|
-
it "raises UnknownObjectException if the pre doesn't exist" do
|
97
|
-
expect { browser.pre(id: 'no_such_id').text }.to raise_unknown_object_exception
|
98
|
-
expect { browser.pre(:xpath , "//pre[@id='no_such_id']").text }.to raise_unknown_object_exception
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
describe "#respond_to?" do
|
103
|
-
it "returns true for all attribute methods" do
|
104
|
-
expect(browser.image(index: 0)).to respond_to(:class_name)
|
105
|
-
expect(browser.image(index: 0)).to respond_to(:id)
|
106
|
-
expect(browser.image(index: 0)).to respond_to(:title)
|
107
|
-
expect(browser.image(index: 0)).to respond_to(:text)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
end
|
1
|
+
require "watirspec_helper"
|
2
|
+
|
3
|
+
describe "Pre" do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
+
end
|
8
|
+
|
9
|
+
# Exists method
|
10
|
+
describe "#exist?" do
|
11
|
+
it "returns true if the 'p' exists" do
|
12
|
+
expect(browser.pre(id: "rspec")).to exist
|
13
|
+
expect(browser.pre(id: /rspec/)).to exist
|
14
|
+
expect(browser.pre(text: 'browser.pre(id: "rspec").should exist')).to exist
|
15
|
+
expect(browser.pre(text: /browser\.pre/)).to exist
|
16
|
+
expect(browser.pre(class: "ruby")).to exist
|
17
|
+
expect(browser.pre(class: /ruby/)).to exist
|
18
|
+
expect(browser.pre(index: 0)).to exist
|
19
|
+
expect(browser.pre(xpath: "//pre[@id='rspec']")).to exist
|
20
|
+
end
|
21
|
+
|
22
|
+
it "returns the first pre if given no args" do
|
23
|
+
expect(browser.pre).to exist
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the 'p' doesn't exist" do
|
27
|
+
expect(browser.pre(id: "no_such_id")).to_not exist
|
28
|
+
expect(browser.pre(id: /no_such_id/)).to_not exist
|
29
|
+
expect(browser.pre(text: "no_such_text")).to_not exist
|
30
|
+
expect(browser.pre(text: /no_such_text/)).to_not exist
|
31
|
+
expect(browser.pre(class: "no_such_class")).to_not exist
|
32
|
+
expect(browser.pre(class: /no_such_class/)).to_not exist
|
33
|
+
expect(browser.pre(index: 1337)).to_not exist
|
34
|
+
expect(browser.pre(xpath: "//pre[@id='no_such_id']")).to_not exist
|
35
|
+
end
|
36
|
+
|
37
|
+
it "raises TypeError when 'what' argument is invalid" do
|
38
|
+
expect { browser.pre(id: 3.14).exists? }.to raise_error(TypeError)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Attribute methods
|
43
|
+
describe "#class_name" do
|
44
|
+
it "returns the class attribute" do
|
45
|
+
expect(browser.pre(id: 'rspec').class_name).to eq 'ruby'
|
46
|
+
end
|
47
|
+
|
48
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
49
|
+
expect(browser.pre(index: 0).class_name).to eq ''
|
50
|
+
end
|
51
|
+
|
52
|
+
it "raises UnknownObjectException if the p doesn't exist" do
|
53
|
+
expect { browser.pre(id: 'no_such_id').class_name }.to raise_unknown_object_exception
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "#id" do
|
58
|
+
it "returns the id attribute" do
|
59
|
+
expect(browser.pre(class: 'ruby').id).to eq "rspec"
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
63
|
+
expect(browser.pre(index: 0).id).to eq ''
|
64
|
+
end
|
65
|
+
|
66
|
+
it "raises UnknownObjectException if the pre doesn't exist" do
|
67
|
+
expect { browser.pre(id: "no_such_id").id }.to raise_unknown_object_exception
|
68
|
+
expect { browser.pre(index: 1337).id }.to raise_unknown_object_exception
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "#title" do
|
73
|
+
it "returns the title attribute" do
|
74
|
+
expect(browser.pre(class: 'brainfuck').title).to eq 'The brainfuck language is an esoteric programming language noted for its extreme minimalism'
|
75
|
+
end
|
76
|
+
|
77
|
+
it "returns an empty string if the element exists and the attribute doesn't" do
|
78
|
+
expect(browser.pre(index: 0).title).to eq ''
|
79
|
+
end
|
80
|
+
|
81
|
+
it "raises UnknownObjectException if the pre doesn't exist" do
|
82
|
+
expect { browser.pre(id: 'no_such_id').title }.to raise_unknown_object_exception
|
83
|
+
expect { browser.pre(xpath: "//pre[@id='no_such_id']").title }.to raise_unknown_object_exception
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "#text" do
|
88
|
+
it "returns the text of the pre" do
|
89
|
+
expect(browser.pre(class: 'haskell').text).to eq 'main = putStrLn "Hello World"'
|
90
|
+
end
|
91
|
+
|
92
|
+
it "returns an empty string if the element doesn't contain any text" do
|
93
|
+
expect(browser.pre(index: 0).text).to eq ''
|
94
|
+
end
|
95
|
+
|
96
|
+
it "raises UnknownObjectException if the pre doesn't exist" do
|
97
|
+
expect { browser.pre(id: 'no_such_id').text }.to raise_unknown_object_exception
|
98
|
+
expect { browser.pre(:xpath , "//pre[@id='no_such_id']").text }.to raise_unknown_object_exception
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe "#respond_to?" do
|
103
|
+
it "returns true for all attribute methods" do
|
104
|
+
expect(browser.image(index: 0)).to respond_to(:class_name)
|
105
|
+
expect(browser.image(index: 0)).to respond_to(:id)
|
106
|
+
expect(browser.image(index: 0)).to respond_to(:title)
|
107
|
+
expect(browser.image(index: 0)).to respond_to(:text)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
@@ -1,40 +1,40 @@
|
|
1
|
-
require "watirspec_helper"
|
2
|
-
|
3
|
-
describe "Pres" do
|
4
|
-
|
5
|
-
before :each do
|
6
|
-
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "with selectors" do
|
10
|
-
it "returns the matching elements" do
|
11
|
-
expect(browser.pres(class: "c-plus-plus").to_a).to eq [browser.pre(class: "c-plus-plus")]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
describe "#length" do
|
16
|
-
it "returns the number of pres" do
|
17
|
-
expect(browser.pres.length).to eq 7
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
describe "#[]" do
|
22
|
-
it "returns the pre at the given index" do
|
23
|
-
expect(browser.pres[1].id).to eq "rspec"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe "#each" do
|
28
|
-
it "iterates through pres correctly" do
|
29
|
-
count = 0
|
30
|
-
|
31
|
-
browser.pres.each_with_index do |p, index|
|
32
|
-
expect(p.id).to eq browser.pre(index: index).id
|
33
|
-
count += 1
|
34
|
-
end
|
35
|
-
|
36
|
-
expect(count).to be > 0
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
1
|
+
require "watirspec_helper"
|
2
|
+
|
3
|
+
describe "Pres" do
|
4
|
+
|
5
|
+
before :each do
|
6
|
+
browser.goto(WatirSpec.url_for("non_control_elements.html"))
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "with selectors" do
|
10
|
+
it "returns the matching elements" do
|
11
|
+
expect(browser.pres(class: "c-plus-plus").to_a).to eq [browser.pre(class: "c-plus-plus")]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "#length" do
|
16
|
+
it "returns the number of pres" do
|
17
|
+
expect(browser.pres.length).to eq 7
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "#[]" do
|
22
|
+
it "returns the pre at the given index" do
|
23
|
+
expect(browser.pres[1].id).to eq "rspec"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "#each" do
|
28
|
+
it "iterates through pres correctly" do
|
29
|
+
count = 0
|
30
|
+
|
31
|
+
browser.pres.each_with_index do |p, index|
|
32
|
+
expect(p.id).to eq browser.pre(index: index).id
|
33
|
+
count += 1
|
34
|
+
end
|
35
|
+
|
36
|
+
expect(count).to be > 0
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|