Skip to content

Commit 08df7e7

Browse files
committed
Extract time inputs to seperate test file
The test inputs load a data attribute for an SVG icon. This is changing the count of network requests in unrelated tests.
1 parent 150d9a4 commit 08df7e7

File tree

3 files changed

+107
-85
lines changed

3 files changed

+107
-85
lines changed

spec/features/session_spec.rb

Lines changed: 94 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -162,110 +162,121 @@
162162
end
163163

164164
describe "Node#set" do
165-
before do
166-
@session.visit("/cuprite/with_js")
167-
@session.find(:css, "#change_me").set("Hello!")
168-
end
165+
context "with_js" do
166+
before do
167+
@session.visit("/cuprite/with_js")
168+
@session.find(:css, "#change_me").set("Hello!")
169+
end
169170

170-
it "fires the change event" do
171-
expect(@session.find(:css, "#changes").text).to eq("Hello!")
172-
end
171+
it "fires the change event" do
172+
expect(@session.find(:css, "#changes").text).to eq("Hello!")
173+
end
173174

174-
it "fires the input event" do
175-
expect(@session.find(:css, "#changes_on_input").text).to eq("Hello!")
176-
end
175+
it "fires the input event" do
176+
expect(@session.find(:css, "#changes_on_input").text).to eq("Hello!")
177+
end
177178

178-
it "accepts numbers in a maxlength field" do
179-
element = @session.find(:css, "#change_me_maxlength")
180-
element.set 100
181-
expect(element.value).to eq("100")
182-
end
179+
it "accepts numbers in a maxlength field" do
180+
element = @session.find(:css, "#change_me_maxlength")
181+
element.set 100
182+
expect(element.value).to eq("100")
183+
end
183184

184-
it "accepts negatives in a number field" do
185-
element = @session.find(:css, "#change_me_number")
186-
element.set(-100)
187-
expect(element.value).to eq("-100")
188-
end
185+
it "accepts negatives in a number field" do
186+
element = @session.find(:css, "#change_me_number")
187+
element.set(-100)
188+
expect(element.value).to eq("-100")
189+
end
189190

190-
it "fires the keydown event" do
191-
expect(@session.find(:css, "#changes_on_keydown").text).to eq("6")
192-
end
191+
it "fires the keydown event" do
192+
expect(@session.find(:css, "#changes_on_keydown").text).to eq("6")
193+
end
193194

194-
it "fires the keyup event" do
195-
expect(@session.find(:css, "#changes_on_keyup").text).to eq("6")
196-
end
195+
it "fires the keyup event" do
196+
expect(@session.find(:css, "#changes_on_keyup").text).to eq("6")
197+
end
197198

198-
it "fires the keypress event" do
199-
expect(@session.find(:css, "#changes_on_keypress").text).to eq("6")
200-
end
199+
it "fires the keypress event" do
200+
expect(@session.find(:css, "#changes_on_keypress").text).to eq("6")
201+
end
201202

202-
it "fires the focus event" do
203-
expect(@session.find(:css, "#changes_on_focus").text).to eq("Focus")
204-
end
203+
it "fires the focus event" do
204+
expect(@session.find(:css, "#changes_on_focus").text).to eq("Focus")
205+
end
205206

206-
it "fires the blur event" do
207-
expect(@session.find(:css, "#changes_on_blur").text).to eq("Blur")
208-
end
207+
it "fires the blur event" do
208+
expect(@session.find(:css, "#changes_on_blur").text).to eq("Blur")
209+
end
209210

210-
it "fires the keydown event before the value is updated" do
211-
expect(@session.find(:css, "#value_on_keydown").text).to eq("Hello")
212-
end
211+
it "fires the keydown event before the value is updated" do
212+
expect(@session.find(:css, "#value_on_keydown").text).to eq("Hello")
213+
end
213214

214-
it "fires the keyup event after the value is updated" do
215-
expect(@session.find(:css, "#value_on_keyup").text).to eq("Hello!")
216-
end
215+
it "fires the keyup event after the value is updated" do
216+
expect(@session.find(:css, "#value_on_keyup").text).to eq("Hello!")
217+
end
217218

218-
it "clears the input before setting the new value" do
219-
element = @session.find(:css, "#change_me")
220-
element.set ""
221-
expect(element.value).to eq("")
222-
end
219+
it "clears the input before setting the new value" do
220+
element = @session.find(:css, "#change_me")
221+
element.set ""
222+
expect(element.value).to eq("")
223+
end
223224

224-
it "supports special characters" do
225-
element = @session.find(:css, "#change_me")
226-
element.set "$52.00"
227-
expect(element.value).to eq("$52.00")
228-
end
225+
it "supports special characters" do
226+
element = @session.find(:css, "#change_me")
227+
element.set "$52.00"
228+
expect(element.value).to eq("$52.00")
229+
end
229230

230-
it "attaches a file when passed a Pathname" do
231-
filename = Pathname.new("spec/tmp/a_test_pathname").expand_path
232-
File.write(filename, "text")
231+
it "attaches a file when passed a Pathname" do
232+
filename = Pathname.new("spec/tmp/a_test_pathname").expand_path
233+
File.write(filename, "text")
233234

234-
element = @session.find(:css, "#change_me_file")
235-
element.set(filename)
236-
expect(element.value).to eq("C:\\fakepath\\a_test_pathname")
237-
ensure
238-
FileUtils.rm_f(filename)
239-
end
235+
element = @session.find(:css, "#change_me_file")
236+
element.set(filename)
237+
expect(element.value).to eq("C:\\fakepath\\a_test_pathname")
238+
ensure
239+
FileUtils.rm_f(filename)
240+
end
240241

241-
it "sets a value for a color input" do
242-
element = @session.find(:css, "#change_me_color")
243-
element.set("#ddeeff")
244-
expect(element.value).to eq("#ddeeff")
242+
it "sets a value for a color input" do
243+
element = @session.find(:css, "#change_me_color")
244+
element.set("#ddeeff")
245+
expect(element.value).to eq("#ddeeff")
246+
end
245247
end
246248

247-
it "sets a value for a time input" do
248-
element = @session.find(:css, "#change_me_time")
249-
element.set("17:21")
250-
expect(element.value).to eq("17:21")
251-
end
249+
# The time inputs are loading SVG icons as data: urls.
250+
# This is causing other unrelated tests to break.
251+
# Keep the time inputs (And others with SVG icons) in their own file
252+
context "time_inputs" do
253+
before(:each) do
254+
@session.visit("/cuprite/time_inputs")
255+
end
252256

253-
it "sets a value for a time input with a time object" do
254-
element = @session.find(:css, "#change_me_time")
255-
element.set(Time.new(2023, 9, 26, 17, 21))
256-
expect(element.value).to eq("17:21")
257-
end
257+
it "sets a value for a time input" do
258+
element = @session.find(:css, "#change_me_time")
259+
element.set("17:21")
260+
expect(element.value).to eq("17:21")
261+
end
258262

259-
it "sets a value for a date input" do
260-
element = @session.find(:css, "#change_me_date")
261-
element.set("2023-09-26")
262-
expect(element.value).to eq("2023-09-26")
263-
end
263+
it "sets a value for a time input with a time object" do
264+
element = @session.find(:css, "#change_me_time")
265+
element.set(Time.new(2023, 9, 26, 17, 21))
266+
expect(element.value).to eq("17:21")
267+
end
264268

265-
it "sets a value for a date input with a date object" do
266-
element = @session.find(:css, "#change_me_date")
267-
element.set(Date.new(2023, 9, 26))
268-
expect(element.value).to eq("2023-09-26")
269+
it "sets a value for a date input" do
270+
element = @session.find(:css, "#change_me_date")
271+
element.set("2023-09-26")
272+
expect(element.value).to eq("2023-09-26")
273+
end
274+
275+
it "sets a value for a date input with a date object" do
276+
element = @session.find(:css, "#change_me_date")
277+
element.set(Date.new(2023, 9, 26))
278+
expect(element.value).to eq("2023-09-26")
279+
end
269280
end
270281
end
271282

spec/support/views/time_inputs.erb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
2+
<head>
3+
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
4+
<title>cuprite with_js</title>
5+
<script src="/cuprite/jquery.min.js" type="text/javascript" charset="utf-8"></script>
6+
<script src="/cuprite/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
7+
<script src="/cuprite/test.js" type="text/javascript" charset="utf-8"></script>
8+
</head>
9+
<body>
10+
<p><input type="time" name="change_me_time" id="change_me_time"></p>
11+
<p><input type="date" name="change_me_date" id="change_me_date"></p>
12+
</body>
13+
</html>

spec/support/views/with_js.erb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
</p>
4040
<p><input type="file" name="change_me_file" id="change_me_file"></p>
4141
<p><input type="color" name="change_me_color" id="change_me_color"></p>
42-
<p><input type="time" name="change_me_time" id="change_me_time"></p>
43-
<p><input type="date" name="change_me_date" id="change_me_date"></p>
4442
<p id="changes"></p>
4543
<p id="changes_on_input"></p>
4644
<p id="changes_on_keydown"></p>

0 commit comments

Comments
 (0)