- {disableClearable || disabled ? null : (
+ {hasClearIcon ? (
{closeIcon}
- )}
+ ) : null}
- {(!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false ? (
+ {hasPopupIcon ? (
', () => {
document.activeElement.blur();
expect(input.value).to.equal('');
});
+
+ it('should apply the icon classes', () => {
+ const { container } = render(
+
} />,
+ );
+ expect(container.querySelector(`.${classes.root}`)).to.have.class(classes.hasClearIcon);
+ expect(container.querySelector(`.${classes.root}`)).to.have.class(classes.hasPopupIcon);
+ });
});
describe('multiple', () => {
@@ -547,6 +555,33 @@ describe('', () => {
);
expect(queryByTitle('Clear')).to.be.null;
});
+
+ it('should not apply the hasClearIcon class', () => {
+ const { container } = render(
+ }
+ />,
+ );
+ expect(container.querySelector(`.${classes.root}`)).not.to.have.class(classes.hasClearIcon);
+ expect(container.querySelector(`.${classes.root}`)).to.have.class(classes.hasPopupIcon);
+ });
+ });
+
+ describe('prop: disableClearable', () => {
+ it('should not render the clear button', () => {
+ const { queryByTitle, container } = render(
+ }
+ />,
+ );
+ expect(queryByTitle('Clear')).to.be.null;
+ expect(container.querySelector(`.${classes.root}`)).to.have.class(classes.hasPopupIcon);
+ expect(container.querySelector(`.${classes.root}`)).not.to.have.class(classes.hasClearIcon);
+ });
});
});