Skip to content

Commit 85b71ef

Browse files
committed
Support time inputs
1 parent c5ff466 commit 85b71ef

File tree

3 files changed

+29
-0
lines changed

3 files changed

+29
-0
lines changed

lib/capybara/cuprite/node.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ def set(value, options = {})
103103
command(:select_file, files)
104104
when "color"
105105
node.evaluate("this.setAttribute('value', '#{value}')")
106+
when "time"
107+
value = value.strftime("%H:%M") if value.is_a?(Time)
108+
node.evaluate("this.setAttribute('value', '#{value}')")
106109
else
107110
command(:set, value.to_s)
108111
end

spec/features/session_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,30 @@
243243
element.set("#ddeeff")
244244
expect(element.value).to eq("#ddeeff")
245245
end
246+
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
252+
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
258+
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
264+
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+
end
246270
end
247271

248272
describe "Node#visible" do

spec/support/views/with_js.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
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>
4244
<p id="changes"></p>
4345
<p id="changes_on_input"></p>
4446
<p id="changes_on_keydown"></p>

0 commit comments

Comments
 (0)