File tree 4 files changed +33
-4
lines changed
4 files changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ General datepicker component.
10
10
| ` calendarClassName ` | ` string ` | | |
11
11
| ` children ` | ` node ` | | |
12
12
| ` className ` | ` string ` | | |
13
+ | ` clearButtonTitle ` | ` string ` | | |
13
14
| ` customInput ` | ` element ` | | |
14
15
| ` customInputRef ` | ` string ` | ` 'ref' ` | The property used to pass the ref callback |
15
16
| ` dateFormat ` | ` union(string\|array) ` | ` 'L' ` | |
Original file line number Diff line number Diff line change @@ -128,7 +128,8 @@ export default class DatePicker extends React.Component {
128
128
minTime : PropTypes . object ,
129
129
maxTime : PropTypes . object ,
130
130
excludeTimes : PropTypes . array ,
131
- useShortMonthInDropdown : PropTypes . bool
131
+ useShortMonthInDropdown : PropTypes . bool ,
132
+ clearButtonTitle : PropTypes . string
132
133
} ;
133
134
134
135
static get defaultProps ( ) {
@@ -588,10 +589,11 @@ export default class DatePicker extends React.Component {
588
589
renderClearButton = ( ) => {
589
590
if ( this . props . isClearable && this . props . selected != null ) {
590
591
return (
591
- < a
592
+ < button
592
593
className = "react-datepicker__close-icon"
593
- href = "javascript:void(0)"
594
594
onClick = { this . onClearClick }
595
+ title = { this . props . clearButtonTitle }
596
+ tabIndex = { - 1 }
595
597
/>
596
598
) ;
597
599
} else {
Original file line number Diff line number Diff line change @@ -337,6 +337,21 @@ describe("DatePicker", () => {
337
337
expect ( datePicker . state . inputValue ) . to . be . null ;
338
338
} ) ;
339
339
340
+ it ( "should set the title attribute on the clear button if clearButtonTitle is supplied" , ( ) => {
341
+ const datePicker = TestUtils . renderIntoDocument (
342
+ < DatePicker
343
+ selected = { utils . newDate ( "2018-03-19" ) }
344
+ isClearable
345
+ clearButtonTitle = "clear button"
346
+ />
347
+ ) ;
348
+ const clearButtonText = TestUtils . findRenderedDOMComponentWithClass (
349
+ datePicker ,
350
+ "react-datepicker__close-icon"
351
+ ) . getAttribute ( "title" ) ;
352
+ expect ( clearButtonText ) . to . equal ( "clear button" ) ;
353
+ } ) ;
354
+
340
355
it ( "should save time from the selected date" , ( ) => {
341
356
const selected = utils . newDate ( "2015-12-20 10:11:12" ) ;
342
357
let date ;
Original file line number Diff line number Diff line change 1
1
import React from "react" ;
2
2
import WeekNumber from "../src/week_number" ;
3
3
import { shallow } from "enzyme" ;
4
+ import sinon from "sinon" ;
4
5
5
6
function renderWeekNumber ( weekNumber , props = { } ) {
6
7
return shallow ( < WeekNumber weekNumber = { weekNumber } { ...props } /> ) ;
7
8
}
8
9
9
10
describe ( "WeekNumber" , ( ) => {
11
+ let shallowWeekNumber ;
10
12
describe ( "rendering" , ( ) => {
11
13
it ( "should render the specified Week Number" , ( ) => {
12
14
const weekNumber = 1 ;
13
- const shallowWeekNumber = renderWeekNumber ( weekNumber ) ;
15
+ shallowWeekNumber = renderWeekNumber ( weekNumber ) ;
14
16
expect (
15
17
shallowWeekNumber . hasClass ( "react-datepicker__week-number" )
16
18
) . to . equal ( true ) ;
17
19
expect ( shallowWeekNumber . text ( ) ) . to . equal ( weekNumber + "" ) ;
18
20
} ) ;
21
+
22
+ it ( "should call the onClick function if it is defined" , ( ) => {
23
+ const onClick = sinon . spy ( ) ;
24
+ shallowWeekNumber = shallow (
25
+ < WeekNumber weekNumber = { 1 } onClick = { onClick } />
26
+ ) ;
27
+ shallowWeekNumber . instance ( ) . handleClick ( { } ) ;
28
+ expect ( onClick ) . to . have . property ( "callCount" , 1 ) ;
29
+ } ) ;
19
30
} ) ;
20
31
} ) ;
You can’t perform that action at this time.
0 commit comments