Skip to content

Commit e4c6550

Browse files
authored
Merge pull request #351 from rvsia/boolisnotempty
fix(renderer): boolean is never empty
2 parents 669599a + 0ef03b8 commit e4c6550

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

packages/react-form-renderer/src/form-renderer/enhanced-on-change.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ const checkEmpty = value => {
5151
return false;
5252
}
5353

54+
if (typeof value === 'boolean') {
55+
return false;
56+
}
57+
5458
if (typeof value === 'string' && value.length > 0) {
5559
return false;
5660
}

packages/react-form-renderer/src/tests/form-renderer/enhanced-on-change.test.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,25 @@ describe('#enhancedOnChange', () => {
2929
expect(enhancedOnChange({ onChange: value => value, clearedValue }, value)).toEqual('Me');
3030
});
3131

32+
it('should return booelan values correctly with initialValue set', () => {
33+
const initial = false;
34+
const valueFalse = {
35+
target: {
36+
checked: false,
37+
type: 'checkbox',
38+
},
39+
};
40+
expect(enhancedOnChange({ onChange: value => value, clearedValue, initial }, valueFalse)).toEqual(false);
41+
42+
const valueTrue = {
43+
target: {
44+
checked: true,
45+
type: 'checkbox',
46+
},
47+
};
48+
expect(enhancedOnChange({ onChange: value => value, clearedValue, initial }, valueTrue)).toEqual(true);
49+
});
50+
3251
it('should correctly convert array datatype from strings to integers', () => {
3352
const value = [ '1', '2', 3 ];
3453
expect(enhancedOnChange({ dataType: 'integer', onChange: value => value, clearedValue }, value)).toEqual([ 1, 2, 3 ]);

0 commit comments

Comments
 (0)