@@ -4,6 +4,7 @@ import { findDOMNode } from "react-dom";
44import TestUtils from "react-dom/test-utils" ;
55import { enUS , enGB } from "date-fns/locale" ;
66import { mount } from "enzyme" ;
7+ import { render , fireEvent } from "@testing-library/react" ;
78import defer from "lodash/defer" ;
89import DatePicker , { registerLocale } from "../src/index.jsx" ;
910import Day from "../src/day.jsx" ;
@@ -2102,6 +2103,55 @@ describe("DatePicker", () => {
21022103 } ) ;
21032104 } ) ;
21042105
2106+ it ( "clears the selected date on empty date input" , ( ) => {
2107+ let date = "2023-10-23 10:00:00" ;
2108+ const selected = utils . newDate ( date ) ;
2109+
2110+ const { container : datepicker } = render (
2111+ < DatePicker
2112+ selected = { selected }
2113+ onChange = { ( d ) => {
2114+ date = d ;
2115+ } }
2116+ showTimeSelect
2117+ dateFormat = "MMMM d, yyyy h:mm aa"
2118+ /> ,
2119+ ) ;
2120+
2121+ const input = datepicker . querySelector (
2122+ ".react-datepicker__input-container > input" ,
2123+ ) ;
2124+ fireEvent . change ( input , { target : { value : "" } } ) ;
2125+
2126+ expect ( date ) . toBe ( null ) ;
2127+ } ) ;
2128+
2129+ it ( "clears the selected date on empty date input with showTimeSelectOnly" , ( ) => {
2130+ const format = "h:mm aa" ;
2131+
2132+ let date = "2022-02-24 10:00:00" ;
2133+ const selected = utils . newDate ( date ) ;
2134+
2135+ const { container : datepicker } = render (
2136+ < DatePicker
2137+ selected = { selected }
2138+ onChange = { ( d ) => {
2139+ date = d ;
2140+ } }
2141+ showTimeSelectOnly
2142+ dateFormat = { format }
2143+ timeFormat = { format }
2144+ /> ,
2145+ ) ;
2146+
2147+ const input = datepicker . querySelector (
2148+ ".react-datepicker__input-container > input" ,
2149+ ) ;
2150+ fireEvent . change ( input , { target : { value : "" } } ) ;
2151+
2152+ expect ( date ) . toBe ( null ) ;
2153+ } ) ;
2154+
21052155 it ( "should selected month when specified minDate same month" , ( ) => {
21062156 const selected = utils . newDate ( "2023-01-09" ) ;
21072157 let date = null ;
0 commit comments