@@ -522,8 +522,8 @@ public void Colstyle_ReturnsStyleAppliedOnCell()
522522 Assert . Multiple ( ( ) =>
523523 {
524524 Assert . That ( columns . Count ( ) , Is . EqualTo ( 2 ) ) ;
525- // Assert.That(columns.First().Width?.Value, Is.EqualTo("1500"));
526- // Assert.That(columns.Last().Width?.Value, Is.EqualTo("750"));
525+ Assert . That ( columns . First ( ) . Width ? . Value , Is . EqualTo ( "1500" ) ) ;
526+ Assert . That ( columns . Last ( ) . Width ? . Value , Is . EqualTo ( "750" ) ) ;
527527 } ) ;
528528
529529 var cells = elements [ 0 ] . GetFirstChild < TableRow > ( ) ? . Elements < TableCell > ( ) ;
@@ -683,5 +683,47 @@ public void Width_ReturnsRefineTableWidth(string width, string expectedUnit, str
683683 Assert . That ( tableWidth ? . Width ? . Value , Is . EqualTo ( expectedValue ) ) ;
684684 } ) ;
685685 }
686+
687+ public void ColWithPercentWidth_ReturnsRefineTableWidth ( )
688+ {
689+ var elements = converter . Parse ( @"<table style='width: 75%'>
690+ <colgroup><col style='width: 13.185%;'><col style='width: 86.9293%;'></colgroup>
691+ <tbody>
692+ <tr>
693+ <td>Cell 1</td>
694+ <td>Cell 2</td>
695+ </tr>
696+ </tbody>
697+ </table>" ) ;
698+
699+ Assert . That ( elements , Has . Count . EqualTo ( 1 ) ) ;
700+ Assert . That ( elements , Has . All . TypeOf < Table > ( ) ) ;
701+ var tableWidth = elements [ 0 ] . GetFirstChild < TableProperties > ( ) ? . TableWidth ;
702+ Assert . That ( tableWidth , Is . Not . Null ) ;
703+ Assert . Multiple ( ( ) =>
704+ {
705+ Assert . That ( tableWidth ? . Type ? . Value , Is . EqualTo ( TableWidthUnitValues . Pct ) ) ;
706+ Assert . That ( tableWidth ? . Width ? . Value , Is . EqualTo ( "3750" ) ) ;
707+ } ) ;
708+
709+ var columns = elements [ 0 ] . GetFirstChild < TableGrid > ( ) ? . Elements < GridColumn > ( ) ;
710+ Assert . That ( columns , Is . Not . Null ) ;
711+ Assert . Multiple ( ( ) =>
712+ {
713+ Assert . That ( columns . Count ( ) , Is . EqualTo ( 2 ) ) ;
714+ Assert . That ( columns . First ( ) . Width ? . Value , Is . EqualTo ( "1269" ) ) ;
715+ Assert . That ( columns . Last ( ) . Width ? . Value , Is . EqualTo ( "8365" ) ) ;
716+ } ) ;
717+
718+ var cells = elements [ 0 ] . GetFirstChild < TableRow > ( ) ? . Elements < TableCell > ( ) ;
719+ Assert . That ( cells , Is . Not . Null ) ;
720+ Assert . Multiple ( ( ) =>
721+ {
722+ Assert . That ( cells . Count ( ) , Is . EqualTo ( 2 ) ) ;
723+ // width on cell are on 5000 basis
724+ Assert . That ( cells . First ( ) . TableCellProperties ? . TableCellWidth ? . Width ? . Value , Is . EqualTo ( "659" ) ) ;
725+ Assert . That ( cells . Last ( ) . TableCellProperties ? . TableCellWidth ? . Width ? . Value , Is . EqualTo ( "4346" ) ) ;
726+ } ) ;
727+ }
686728 }
687729}
0 commit comments