Skip to content

Commit 44bc276

Browse files
committed
Support time inputs
1 parent 7326bff commit 44bc276

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
@@ -245,6 +245,30 @@
245245
element.set("#ddeeff")
246246
expect(element.value).to eq("#ddeeff")
247247
end
248+
249+
it "sets a value for a time input" do
250+
element = @session.find(:css, "#change_me_time")
251+
element.set("17:21")
252+
expect(element.value).to eq("17:21")
253+
end
254+
255+
it "sets a value for a time input with a time object" do
256+
element = @session.find(:css, "#change_me_time")
257+
element.set(Time.new(2023, 9, 26, 17, 21))
258+
expect(element.value).to eq("17:21")
259+
end
260+
261+
it "sets a value for a date input" do
262+
element = @session.find(:css, "#change_me_date")
263+
element.set("2023-09-26")
264+
expect(element.value).to eq("2023-09-26")
265+
end
266+
267+
it "sets a value for a date input with a date object" do
268+
element = @session.find(:css, "#change_me_date")
269+
element.set(Date.new(2023, 9, 26))
270+
expect(element.value).to eq("2023-09-26")
271+
end
248272
end
249273

250274
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)