celerity 0.0.4 → 0.0.6
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.
- data/History.txt +33 -0
- data/README.txt +19 -9
- data/Rakefile +9 -3
- data/lib/celerity.rb +39 -39
- data/lib/celerity/browser.rb +538 -153
- data/lib/celerity/clickable_element.rb +48 -7
- data/lib/celerity/collections.rb +155 -131
- data/lib/celerity/container.rb +766 -385
- data/lib/celerity/default_viewer.rb +10 -0
- data/lib/celerity/disabled_element.rb +19 -2
- data/lib/celerity/element.rb +152 -83
- data/lib/celerity/element_collection.rb +106 -0
- data/lib/celerity/element_locator.rb +89 -66
- data/lib/celerity/elements/button.rb +23 -13
- data/lib/celerity/elements/file_field.rb +17 -5
- data/lib/celerity/elements/form.rb +21 -16
- data/lib/celerity/elements/frame.rb +75 -53
- data/lib/celerity/elements/image.rb +76 -63
- data/lib/celerity/elements/label.rb +4 -2
- data/lib/celerity/elements/link.rb +30 -18
- data/lib/celerity/elements/meta.rb +6 -0
- data/lib/celerity/{non_control_elements.rb → elements/non_control_elements.rb} +106 -76
- data/lib/celerity/elements/option.rb +16 -2
- data/lib/celerity/elements/radio_check.rb +55 -20
- data/lib/celerity/elements/select_list.rb +65 -29
- data/lib/celerity/elements/table.rb +141 -94
- data/lib/celerity/elements/table_cell.rb +13 -6
- data/lib/celerity/elements/{table_body.rb → table_elements.rb} +20 -8
- data/lib/celerity/elements/table_row.rb +23 -7
- data/lib/celerity/elements/text_field.rb +89 -33
- data/lib/celerity/exception.rb +77 -41
- data/lib/celerity/extra/method_generator.rb +42 -24
- data/lib/celerity/htmlunit.rb +49 -0
- data/lib/celerity/htmlunit/commons-collections-3.2.1.jar +0 -0
- data/lib/celerity/htmlunit/htmlunit-2.5-SNAPSHOT.jar +0 -0
- data/lib/celerity/htmlunit/htmlunit-core-js-2.5-SNAPSHOT.jar +0 -0
- data/lib/celerity/htmlunit/nekohtml-1.9.12-20090308.130127-11.jar +0 -0
- data/lib/celerity/htmlunit/serializer-2.7.1.jar +0 -0
- data/lib/celerity/htmlunit/xalan-2.7.1.jar +0 -0
- data/lib/celerity/htmlunit/xml-apis-1.3.04.jar +0 -0
- data/lib/celerity/identifier.rb +3 -2
- data/lib/celerity/input_element.rb +5 -5
- data/lib/celerity/listener.rb +135 -0
- data/lib/celerity/resources/no_viewer.png +0 -0
- data/lib/celerity/util.rb +88 -0
- data/lib/celerity/version.rb +4 -3
- data/lib/celerity/watir_compatibility.rb +35 -25
- data/tasks/jar.rake +57 -0
- metadata +35 -142
- data.tar.gz.sig +0 -0
- data/Manifest.txt +0 -150
- data/lib/celerity/element_collections.rb +0 -54
- data/lib/celerity/element_map.rb +0 -51
- data/lib/celerity/elements/table_footer.rb +0 -30
- data/lib/celerity/elements/table_header.rb +0 -30
- data/lib/celerity/htmlunit/commons-collections-3.2.jar +0 -0
- data/lib/celerity/htmlunit/download.sh +0 -23
- data/lib/celerity/htmlunit/htmlunit-2.2.jar +0 -0
- data/lib/celerity/htmlunit/htmlunit-core-js-2.2.jar +0 -0
- data/lib/celerity/htmlunit/nekohtml-1.9.8.jar +0 -0
- data/lib/celerity/htmlunit/xalan-2.7.0.jar +0 -0
- data/lib/celerity/htmlunit/xml-apis-1.0.b2.jar +0 -0
- data/spec/area_spec.rb +0 -97
- data/spec/areas_spec.rb +0 -40
- data/spec/browser_spec.rb +0 -266
- data/spec/button_spec.rb +0 -227
- data/spec/buttons_spec.rb +0 -39
- data/spec/checkbox_spec.rb +0 -302
- data/spec/checkboxes_spec.rb +0 -38
- data/spec/div_spec.rb +0 -207
- data/spec/divs_spec.rb +0 -39
- data/spec/element_spec.rb +0 -79
- data/spec/filefield_spec.rb +0 -123
- data/spec/filefields_spec.rb +0 -40
- data/spec/form_spec.rb +0 -59
- data/spec/forms_spec.rb +0 -41
- data/spec/frame_spec.rb +0 -121
- data/spec/frames_spec.rb +0 -71
- data/spec/hidden_spec.rb +0 -127
- data/spec/hiddens_spec.rb +0 -39
- data/spec/hn_spec.rb +0 -104
- data/spec/hns_spec.rb +0 -45
- data/spec/html/2000_spans.html +0 -2009
- data/spec/html/bug_duplicate_attributes.html +0 -14
- data/spec/html/bug_javascript_001.html +0 -11
- data/spec/html/form_js_bug.html +0 -11
- data/spec/html/forms_with_input_elements.html +0 -114
- data/spec/html/frame_1.html +0 -17
- data/spec/html/frame_2.html +0 -16
- data/spec/html/frames.html +0 -11
- data/spec/html/iframes.html +0 -12
- data/spec/html/images.html +0 -27
- data/spec/html/images/1.gif +0 -0
- data/spec/html/images/2.gif +0 -0
- data/spec/html/images/3.gif +0 -0
- data/spec/html/images/button.jpg +0 -0
- data/spec/html/images/circle.jpg +0 -0
- data/spec/html/images/map.gif +0 -0
- data/spec/html/images/map2.gif +0 -0
- data/spec/html/images/minus.gif +0 -0
- data/spec/html/images/originaltriangle.jpg +0 -0
- data/spec/html/images/plus.gif +0 -0
- data/spec/html/images/square.jpg +0 -0
- data/spec/html/images/triangle.jpg +0 -0
- data/spec/html/invalid_js.html +0 -11
- data/spec/html/latin1_text.html +0 -17
- data/spec/html/non_control_elements.html +0 -115
- data/spec/html/simple_ajax.html +0 -22
- data/spec/html/tables.html +0 -119
- data/spec/html/utf8_text.html +0 -15
- data/spec/htmlunit_spec.rb +0 -26
- data/spec/image_spec.rb +0 -220
- data/spec/images_spec.rb +0 -39
- data/spec/label_spec.rb +0 -79
- data/spec/labels_spec.rb +0 -40
- data/spec/li_spec.rb +0 -139
- data/spec/link_spec.rb +0 -189
- data/spec/links_spec.rb +0 -43
- data/spec/lis_spec.rb +0 -40
- data/spec/map_spec.rb +0 -102
- data/spec/maps_spec.rb +0 -40
- data/spec/meta_spec.rb +0 -8
- data/spec/ol_spec.rb +0 -87
- data/spec/ols_spec.rb +0 -40
- data/spec/option_spec.rb +0 -154
- data/spec/p_spec.rb +0 -171
- data/spec/pre_spec.rb +0 -135
- data/spec/pres_spec.rb +0 -40
- data/spec/ps_spec.rb +0 -40
- data/spec/radio_spec.rb +0 -299
- data/spec/radios_spec.rb +0 -42
- data/spec/select_list_spec.rb +0 -299
- data/spec/select_lists_spec.rb +0 -47
- data/spec/span_spec.rb +0 -184
- data/spec/spans_spec.rb +0 -64
- data/spec/spec.opts +0 -1
- data/spec/spec_helper.rb +0 -55
- data/spec/table_bodies_spec.rb +0 -57
- data/spec/table_body_spec.rb +0 -111
- data/spec/table_cell_spec.rb +0 -74
- data/spec/table_cells_spec.rb +0 -59
- data/spec/table_footer_spec.rb +0 -101
- data/spec/table_footers_spec.rb +0 -55
- data/spec/table_header_spec.rb +0 -101
- data/spec/table_headers_spec.rb +0 -55
- data/spec/table_row_spec.rb +0 -104
- data/spec/table_rows_spec.rb +0 -58
- data/spec/table_spec.rb +0 -160
- data/spec/tables_spec.rb +0 -42
- data/spec/text_field_spec.rb +0 -323
- data/spec/text_fields_spec.rb +0 -44
- data/spec/ul_spec.rb +0 -88
- data/spec/uls_spec.rb +0 -40
- data/spec/watir_compatibility_spec.rb +0 -260
- data/support/spec_server.rb +0 -73
- data/tasks/rspec.rake +0 -30
- data/tasks/specserver.rake +0 -21
- metadata.gz.sig +0 -0
data/spec/tables_spec.rb
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "Tables" do
|
|
4
|
-
|
|
5
|
-
before :all do
|
|
6
|
-
@browser = Browser.new
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
before :each do
|
|
10
|
-
@browser.goto(TEST_HOST + "/tables.html")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "#length" do
|
|
14
|
-
it "should return the number of tables" do
|
|
15
|
-
@browser.tables.length.should == 4
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
describe "#[]" do
|
|
20
|
-
it "should return the p at the given index" do
|
|
21
|
-
@browser.tables[1].id.should == "axis_example"
|
|
22
|
-
@browser.tables[2].id.should == "outer"
|
|
23
|
-
@browser.tables[3].id.should == "inner"
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
describe "#each" do
|
|
28
|
-
it "should iterate through tables correctly" do
|
|
29
|
-
@browser.tables.each_with_index do |t, index|
|
|
30
|
-
t.name.should == @browser.table(:index, index+1).name
|
|
31
|
-
t.id.should == @browser.table(:index, index+1).id
|
|
32
|
-
t.value.should == @browser.table(:index, index+1).value
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
after :all do
|
|
38
|
-
@browser.close
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
end
|
|
42
|
-
|
data/spec/text_field_spec.rb
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "TextField" do
|
|
4
|
-
|
|
5
|
-
before :all do
|
|
6
|
-
@browser = Browser.new
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
before :each do
|
|
10
|
-
@browser.goto(TEST_HOST + "/forms_with_input_elements.html")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Exists method
|
|
14
|
-
describe "#exists?" do
|
|
15
|
-
it "should return true if the element exists" do
|
|
16
|
-
@browser.text_field(:id, 'new_user_email').should exist
|
|
17
|
-
@browser.text_field(:id, /new_user_email/).should exist
|
|
18
|
-
@browser.text_field(:name, 'new_user_email').should exist
|
|
19
|
-
@browser.text_field(:name, /new_user_email/).should exist
|
|
20
|
-
@browser.text_field(:value, 'Developer').should exist
|
|
21
|
-
@browser.text_field(:value, /Developer/).should exist
|
|
22
|
-
@browser.text_field(:text, 'Developer').should exist
|
|
23
|
-
@browser.text_field(:text, /Developer/).should exist
|
|
24
|
-
@browser.text_field(:class, 'name').should exist
|
|
25
|
-
@browser.text_field(:class, /name/).should exist
|
|
26
|
-
@browser.text_field(:index, 1).should exist
|
|
27
|
-
@browser.text_field(:xpath, "//input[@id='new_user_email']").should exist
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it "should return true if the element exists (default how = :name)" do
|
|
31
|
-
@browser.text_field("new_user_email").should exist
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it "should return true if the element exists (no type attribute)" do
|
|
35
|
-
@browser.text_field(:id, 'new_user_first_name').should exist
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "should return true if the element exists (invalid type attribute)" do
|
|
39
|
-
@browser.text_field(:id, 'new_user_last_name').should exist
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it "should return false if the element does not exist" do
|
|
43
|
-
@browser.text_field(:id, 'no_such_id').should_not exist
|
|
44
|
-
@browser.text_field(:id, /no_such_id/).should_not exist
|
|
45
|
-
@browser.text_field(:name, 'no_such_name').should_not exist
|
|
46
|
-
@browser.text_field(:name, /no_such_name/).should_not exist
|
|
47
|
-
@browser.text_field(:value, 'no_such_value').should_not exist
|
|
48
|
-
@browser.text_field(:value, /no_such_value/).should_not exist
|
|
49
|
-
@browser.text_field(:text, 'no_such_text').should_not exist
|
|
50
|
-
@browser.text_field(:text, /no_such_text/).should_not exist
|
|
51
|
-
@browser.text_field(:class, 'no_such_class').should_not exist
|
|
52
|
-
@browser.text_field(:class, /no_such_class/).should_not exist
|
|
53
|
-
@browser.text_field(:index, 1337).should_not exist
|
|
54
|
-
@browser.text_field(:xpath, "//input[@id='no_such_id']").should_not exist
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
it "should raise ArgumentError when 'what' argument is invalid" do
|
|
58
|
-
lambda { @browser.text_field(:id, 3.14).exists? }.should raise_error(ArgumentError)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it "should raise MissingWayOfFindingObjectException when 'how' argument is invalid" do
|
|
62
|
-
lambda { @browser.text_field(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
# Attribute methods
|
|
67
|
-
describe "#id" do
|
|
68
|
-
it "should return the id attribute if the text field exists" do
|
|
69
|
-
@browser.text_field(:index, 4).id.should == "new_user_occupation"
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
73
|
-
lambda { @browser.text_field(:index, 1337).id }.should raise_error(UnknownObjectException)
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
describe "#name" do
|
|
78
|
-
it "should return the name attribute if the text field exists" do
|
|
79
|
-
@browser.text_field(:index, 4).name.should == "new_user_occupation"
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
83
|
-
lambda { @browser.text_field(:index, 1337).name }.should raise_error(UnknownObjectException)
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
describe "#title" do
|
|
88
|
-
it "should return the title attribute if the text field exists" do
|
|
89
|
-
@browser.text_field(:id, "new_user_code").title.should == "Your personal code"
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
93
|
-
lambda { @browser.text_field(:index, 1337).title }.should raise_error(UnknownObjectException)
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
describe "#type" do
|
|
98
|
-
it "should return the type attribute if the text field exists" do
|
|
99
|
-
@browser.text_field(:index, 4).type.should == "text"
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should return 'text' if the type attribute is invalid" do
|
|
103
|
-
@browser.text_field(:id, 'new_user_last_name').type.should == "text"
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "should return 'text' if the type attribute does not exist" do
|
|
107
|
-
@browser.text_field(:id, 'new_user_first_name').type.should == "text"
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
111
|
-
lambda { @browser.text_field(:index, 1337).type }.should raise_error(UnknownObjectException)
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
describe "#value" do
|
|
116
|
-
it "should return the value attribute if the text field exists" do
|
|
117
|
-
@browser.text_field(:name, "new_user_occupation").value.should == "Developer"
|
|
118
|
-
@browser.text_field(:index, 4).value.should == "Developer"
|
|
119
|
-
@browser.text_field(:name, /new_user_occupation/i).value.should == "Developer"
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
123
|
-
lambda { @browser.text_field(:index, 1337).value }.should raise_error(UnknownObjectException)
|
|
124
|
-
end
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
describe "#respond_to?" do
|
|
128
|
-
it "should return true for all attribute methods" do
|
|
129
|
-
@browser.text_field(:index, 1).should respond_to(:class_name)
|
|
130
|
-
@browser.text_field(:index, 1).should respond_to(:id)
|
|
131
|
-
@browser.text_field(:index, 1).should respond_to(:name)
|
|
132
|
-
@browser.text_field(:index, 1).should respond_to(:title)
|
|
133
|
-
@browser.text_field(:index, 1).should respond_to(:type)
|
|
134
|
-
@browser.text_field(:index, 1).should respond_to(:value)
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
# Access methods
|
|
140
|
-
describe "#enabled?" do
|
|
141
|
-
it "should return true for enabled text fields" do
|
|
142
|
-
@browser.text_field(:name, "new_user_occupation").should be_enabled
|
|
143
|
-
@browser.text_field(:id, "new_user_email").should be_enabled
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
it "should return false for disabled text fields" do
|
|
147
|
-
@browser.text_field(:name, "new_user_species").should_not be_enabled
|
|
148
|
-
end
|
|
149
|
-
|
|
150
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
151
|
-
lambda { @browser.text_field(:id, "no_such_id").enabled? }.should raise_error(UnknownObjectException)
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
describe "#disabled?" do
|
|
156
|
-
it "should return true if the text field is disabled" do
|
|
157
|
-
@browser.text_field(:id, 'new_user_species').should be_disabled
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
it "should return false if the text field is enabled" do
|
|
161
|
-
@browser.text_field(:index, 1).should_not be_disabled
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
165
|
-
lambda { @browser.text_field(:index, 1337).disabled? }.should raise_error(UnknownObjectException)
|
|
166
|
-
end
|
|
167
|
-
end
|
|
168
|
-
|
|
169
|
-
describe "#readonly?" do
|
|
170
|
-
it "should return true for read-only text fields" do
|
|
171
|
-
@browser.text_field(:name, "new_user_code").should be_readonly
|
|
172
|
-
@browser.text_field(:id, "new_user_code").should be_readonly
|
|
173
|
-
end
|
|
174
|
-
|
|
175
|
-
it "should return false for writeable text fields" do
|
|
176
|
-
@browser.text_field(:name, "new_user_email").should_not be_readonly
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
180
|
-
lambda { @browser.text_field(:id, 'no_such_id').readonly? }.should raise_error(UnknownObjectException)
|
|
181
|
-
end
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
# Manipulation methods
|
|
186
|
-
describe "#append" do
|
|
187
|
-
it "should append the text to the text field" do
|
|
188
|
-
@browser.text_field(:name, "new_user_occupation").append(" Append This")
|
|
189
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should == "Developer Append This"
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
it "should append multi-byte characters" do
|
|
193
|
-
@browser.text_field(:name, "new_user_occupation").append(" ijij")
|
|
194
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should == "Developer ijij"
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
it "should raise ObjectReadOnlyException if the object is read only" do
|
|
198
|
-
lambda { @browser.text_field(:id, "new_user_code").append("Append This") }.should raise_error(ObjectReadOnlyException)
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
it "should raise ObjectDisabledException if the object is disabled" do
|
|
202
|
-
lambda { @browser.text_field(:name, "new_user_species").append("Append This") }.should raise_error(ObjectDisabledException)
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
it "should raise UnknownObjectException if the object doesn't exist" do
|
|
206
|
-
lambda { @browser.text_field(:name, "no_such_name").append("Append This") }.should raise_error(UnknownObjectException)
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
|
-
describe "#clear" do
|
|
211
|
-
it "should remove all text from the text field" do
|
|
212
|
-
@browser.text_field(:name, "new_user_occupation").clear
|
|
213
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should be_empty
|
|
214
|
-
@browser.text_field(:id, "delete_user_comment").clear
|
|
215
|
-
@browser.text_field(:id, "delete_user_comment").get_contents.should be_empty
|
|
216
|
-
end
|
|
217
|
-
|
|
218
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
219
|
-
lambda { @browser.text_field(:id, "no_such_id").clear }.should raise_error(UnknownObjectException)
|
|
220
|
-
end
|
|
221
|
-
end
|
|
222
|
-
|
|
223
|
-
describe "#drag_contents_to" do
|
|
224
|
-
it "should drag contents to another text field" do
|
|
225
|
-
@browser.text_field(:name, "new_user_first_name").set("Smith")
|
|
226
|
-
@browser.text_field(:name, "new_user_first_name").drag_contents_to(:name, "new_user_last_name")
|
|
227
|
-
@browser.text_field(:name, "new_user_first_name").value.should be_empty
|
|
228
|
-
@browser.text_field(:id, "new_user_last_name").value.should == "Smith"
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
it "should raise UnknownObjectException if either of the text fields doesn't exist" do
|
|
232
|
-
lambda { @browser.text_field(:id, "no_such_id").drag_contents_to(:name, "new_user_last_name") }.should raise_error(UnknownObjectException)
|
|
233
|
-
lambda { @browser.text_field(:name, "new_user_first_name").drag_contents_to(:id, "no_such_id") }.should raise_error(UnknownObjectException)
|
|
234
|
-
end
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
describe "#get_contents" do
|
|
238
|
-
it "should return the contents of the text field" do
|
|
239
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should == "Developer"
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
it "should raise UnknownObjectException when accessing a non-existing element" do
|
|
243
|
-
lambda { @browser.text_field(:name, "no_such_name").get_contents }.should raise_error(UnknownObjectException)
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
247
|
-
lambda { @browser.text_field(:id, "no_such_id").get_contents }.should raise_error(UnknownObjectException)
|
|
248
|
-
end
|
|
249
|
-
end
|
|
250
|
-
|
|
251
|
-
describe "#value=" do
|
|
252
|
-
it "should set the value of the element" do
|
|
253
|
-
@browser.text_field(:id, 'new_user_email').value = 'Hello Cruel World'
|
|
254
|
-
@browser.text_field(:id, "new_user_email").value.should == 'Hello Cruel World'
|
|
255
|
-
end
|
|
256
|
-
|
|
257
|
-
it "should be able to set multi-byte characters" do
|
|
258
|
-
@browser.text_field(:name, "new_user_occupation").value = "ijij"
|
|
259
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should == "ijij"
|
|
260
|
-
end
|
|
261
|
-
|
|
262
|
-
it "should set the value of a textarea element" do
|
|
263
|
-
@browser.text_field(:id, 'delete_user_comment').value = 'Hello Cruel World'
|
|
264
|
-
@browser.text_field(:id, "delete_user_comment").value.should == 'Hello Cruel World'
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
268
|
-
lambda { @browser.text_field(:name, "no_such_name").value = 'yo' }.should raise_error(UnknownObjectException)
|
|
269
|
-
end
|
|
270
|
-
end
|
|
271
|
-
|
|
272
|
-
describe "#set" do
|
|
273
|
-
it "should set the value of the element" do
|
|
274
|
-
@browser.text_field(:id, 'new_user_email').set('Bye Cruel World')
|
|
275
|
-
@browser.text_field(:id, "new_user_email").value.should == 'Bye Cruel World'
|
|
276
|
-
end
|
|
277
|
-
|
|
278
|
-
it "should set the value of a textarea element" do
|
|
279
|
-
@browser.text_field(:id, 'delete_user_comment').set('Hello Cruel World')
|
|
280
|
-
@browser.text_field(:id, "delete_user_comment").value.should == 'Hello Cruel World'
|
|
281
|
-
end
|
|
282
|
-
|
|
283
|
-
it "should fire events" do
|
|
284
|
-
@browser.text_field(:id, "new_user_username").set("Hello World")
|
|
285
|
-
@browser.span(:id, "current_length").text.should == "11"
|
|
286
|
-
end
|
|
287
|
-
|
|
288
|
-
it "should be able to set the value of a password field" do
|
|
289
|
-
@browser.text_field(:name , 'new_user_password').set('secret')
|
|
290
|
-
@browser.text_field(:name , 'new_user_password').value.should == 'secret'
|
|
291
|
-
end
|
|
292
|
-
|
|
293
|
-
it "should be able to set multi-byte characters" do
|
|
294
|
-
@browser.text_field(:name, "new_user_occupation").set("ijij")
|
|
295
|
-
@browser.text_field(:name, "new_user_occupation").get_contents.should == "ijij"
|
|
296
|
-
end
|
|
297
|
-
|
|
298
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
299
|
-
lambda { @browser.text_field(:id, "no_such_id").set('secret') }.should raise_error(UnknownObjectException)
|
|
300
|
-
end
|
|
301
|
-
end
|
|
302
|
-
|
|
303
|
-
describe "#verify_contains" do
|
|
304
|
-
it "should verify that a text field contains its value" do
|
|
305
|
-
@browser.text_field(:name, "new_user_occupation").verify_contains("Developer").should be_true
|
|
306
|
-
@browser.text_field(:name, "new_user_occupation").verify_contains(/Developer/).should be_true
|
|
307
|
-
end
|
|
308
|
-
|
|
309
|
-
it "should not verify that a text field contains a non-existing value" do
|
|
310
|
-
@browser.text_field(:name, "new_user_email").verify_contains("no_such_text").should be_false
|
|
311
|
-
@browser.text_field(:name, "new_user_email").verify_contains(/no_such_text/).should be_false
|
|
312
|
-
end
|
|
313
|
-
|
|
314
|
-
it "should raise UnknownObjectException if the text field doesn't exist" do
|
|
315
|
-
lambda { @browser.text_field(:id, "no_such_id").verify_contains("Developer") }.should raise_error(UnknownObjectException)
|
|
316
|
-
end
|
|
317
|
-
end
|
|
318
|
-
|
|
319
|
-
after :all do
|
|
320
|
-
@browser.close
|
|
321
|
-
end
|
|
322
|
-
|
|
323
|
-
end
|
data/spec/text_fields_spec.rb
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "TextFields" do
|
|
4
|
-
|
|
5
|
-
before :all do
|
|
6
|
-
@browser = Browser.new
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
before :each do
|
|
10
|
-
@browser.goto(TEST_HOST + "/forms_with_input_elements.html")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "#length" do
|
|
14
|
-
it "should return the number of text fields" do
|
|
15
|
-
@browser.text_fields.length.should == 9
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
describe "#[]" do
|
|
20
|
-
it "should return the text field at the given index" do
|
|
21
|
-
@browser.text_fields[1].id.should == "new_user_first_name"
|
|
22
|
-
@browser.text_fields[2].id.should == "new_user_last_name"
|
|
23
|
-
@browser.text_fields[3].id.should == "new_user_email"
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
describe "#each" do
|
|
28
|
-
it "should iterate through text fields correctly" do
|
|
29
|
-
index = 1
|
|
30
|
-
@browser.text_fields.each do |r|
|
|
31
|
-
r.name.should == @browser.text_field(:index, index).name
|
|
32
|
-
r.id.should == @browser.text_field(:index, index).id
|
|
33
|
-
r.value.should == @browser.text_field(:index, index).value
|
|
34
|
-
index += 1
|
|
35
|
-
end
|
|
36
|
-
@browser.text_fields.length.should == index - 1
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
after :all do
|
|
41
|
-
@browser.close
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
data/spec/ul_spec.rb
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
describe "Ul" do
|
|
4
|
-
|
|
5
|
-
before :all do
|
|
6
|
-
@browser = Browser.new
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
before :each do
|
|
10
|
-
@browser.goto(TEST_HOST + "/non_control_elements.html")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
# Exists method
|
|
14
|
-
describe "#exist?" do
|
|
15
|
-
it "should return true if the 'ul' exists" do
|
|
16
|
-
@browser.ul(:id, "navbar").should exist
|
|
17
|
-
@browser.ul(:id, /navbar/).should exist
|
|
18
|
-
@browser.ul(:index, 1).should exist
|
|
19
|
-
@browser.ul(:xpath, "//ul[@id='navbar']").should exist
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it "should return true if the element exists (default how = :id)" do
|
|
23
|
-
@browser.ul("navbar").should exist
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "should return false if the 'ul' doesn't exist" do
|
|
27
|
-
@browser.ul(:id, "no_such_id").should_not exist
|
|
28
|
-
@browser.ul(:id, /no_such_id/).should_not exist
|
|
29
|
-
@browser.ul(:text, "no_such_text").should_not exist
|
|
30
|
-
@browser.ul(:text, /no_such_text/).should_not exist
|
|
31
|
-
@browser.ul(:class, "no_such_class").should_not exist
|
|
32
|
-
@browser.ul(:class, /no_such_class/).should_not exist
|
|
33
|
-
@browser.ul(:index, 1337).should_not exist
|
|
34
|
-
@browser.ul(:xpath, "//ul[@id='no_such_id']").should_not exist
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "should raise ArgumentError when 'what' argument is invalid" do
|
|
38
|
-
lambda { @browser.ul(:id, 3.14).exists? }.should raise_error(ArgumentError)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "should raise MissingWayOfFindingObjectException when 'how' argument is invalid" do
|
|
42
|
-
lambda { @browser.ul(:no_such_how, 'some_value').exists? }.should raise_error(MissingWayOfFindingObjectException)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# Attribute methods
|
|
47
|
-
describe "#class_name" do
|
|
48
|
-
it "should return the class attribute" do
|
|
49
|
-
@browser.ul(:id, 'navbar').class_name.should == 'navigation'
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it "should return an empty string if the element exists and the attribute doesn't" do
|
|
53
|
-
@browser.ul(:index, 2).class_name.should == ''
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
it "should raise UnknownObjectException if the ul doesn't exist" do
|
|
57
|
-
lambda { @browser.ul(:id, 'no_such_id').class_name }.should raise_error(UnknownObjectException)
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
describe "#id" do
|
|
62
|
-
it "should return the id attribute" do
|
|
63
|
-
@browser.ul(:class, 'navigation').id.should == "navbar"
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
it "should return an empty string if the element exists and the attribute doesn't" do
|
|
67
|
-
@browser.ul(:index, 2).id.should == ''
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it "should raise UnknownObjectException if the ul doesn't exist" do
|
|
71
|
-
lambda { @browser.ul(:id, "no_such_id").id }.should raise_error(UnknownObjectException)
|
|
72
|
-
lambda { @browser.ul(:index, 1337).id }.should raise_error(UnknownObjectException)
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
describe "#respond_to?" do
|
|
77
|
-
it "should return true for all attribute methods" do
|
|
78
|
-
@browser.ul(:index, 1).should respond_to(:class_name)
|
|
79
|
-
@browser.ul(:index, 1).should respond_to(:id)
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
after :all do
|
|
85
|
-
@browser.close
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
end
|