File tree Expand file tree Collapse file tree 2 files changed +55
-2
lines changed Expand file tree Collapse file tree 2 files changed +55
-2
lines changed Original file line number Diff line number Diff line change @@ -326,15 +326,19 @@ class RowSpanCell {
326326 mergeTableOptions ( ) { }
327327}
328328
329+ function firstDefined ( ...args ) {
330+ return args . filter ( ( v ) => v !== undefined && v !== null ) . shift ( ) ;
331+ }
332+
329333// HELPER FUNCTIONS
330334function setOption ( objA , objB , nameB , targetObj ) {
331335 let nameA = nameB . split ( '-' ) ;
332336 if ( nameA . length > 1 ) {
333337 nameA [ 1 ] = nameA [ 1 ] . charAt ( 0 ) . toUpperCase ( ) + nameA [ 1 ] . substr ( 1 ) ;
334338 nameA = nameA . join ( '' ) ;
335- targetObj [ nameA ] = objA [ nameA ] || objA [ nameB ] || objB [ nameA ] || objB [ nameB ] ;
339+ targetObj [ nameA ] = firstDefined ( objA [ nameA ] , objA [ nameB ] , objB [ nameA ] , objB [ nameB ] ) ;
336340 } else {
337- targetObj [ nameB ] = objA [ nameB ] || objB [ nameB ] ;
341+ targetObj [ nameB ] = firstDefined ( objA [ nameB ] , objB [ nameB ] ) ;
338342 }
339343}
340344
Original file line number Diff line number Diff line change 1+ const Table = require ( '../..' ) ;
2+
3+ test ( 'cell padding of zero overrides table options' , ( ) => {
4+ let table = new Table ( {
5+ style : {
6+ 'padding-left' : 1 ,
7+ // 'padding-right': 1,
8+ border : [ ] ,
9+ header : [ ] ,
10+ } ,
11+ } ) ;
12+
13+ table . push ( [
14+ {
15+ content : 'a' ,
16+ style : {
17+ 'padding-left' : 5 ,
18+ } ,
19+ } ,
20+ {
21+ content : 'b' ,
22+ style : {
23+ 'padding-left' : 2 ,
24+ 'padding-right' : 0 ,
25+ } ,
26+ } ,
27+ {
28+ content : 'c' ,
29+ style : {
30+ 'padding-left' : 0 ,
31+ } ,
32+ } ,
33+ {
34+ content : 'd' ,
35+ style : {
36+ 'padding-left' : 0 ,
37+ 'padding-right' : 2 ,
38+ } ,
39+ } ,
40+ ] ) ;
41+
42+ const expected = [
43+ // prettier-disable
44+ '┌───────┬───┬──┬───┐' ,
45+ '│ a │ b│c │d │' ,
46+ '└───────┴───┴──┴───┘' ,
47+ ] . join ( '\n' ) ;
48+ expect ( table . toString ( ) ) . toEqual ( expected ) ;
49+ } ) ;
You can’t perform that action at this time.
0 commit comments