@@ -95,6 +95,11 @@ def it_knows_its_direction(self, direction_get_fixture):
9595 table , expected_value = direction_get_fixture
9696 assert table .table_direction == expected_value
9797
98+ def it_can_change_its_direction (self , direction_set_fixture ):
99+ table , new_value , expected_xml = direction_set_fixture
100+ table .table_direction = new_value
101+ assert table ._element .xml == expected_xml
102+
98103 def it_knows_its_table_style (self , style_get_fixture ):
99104 table , style_id_ , style_ = style_get_fixture
100105 style = table .style
@@ -239,6 +244,22 @@ def direction_get_fixture(self, request):
239244 table = Table (element (tbl_cxml ), None )
240245 return table , expected_value
241246
247+ @pytest .fixture (params = [
248+ ('w:tbl/w:tblPr' , WD_TABLE_DIRECTION .RTL ,
249+ 'w:tbl/w:tblPr/w:bidiVisual' ),
250+ ('w:tbl/w:tblPr/w:bidiVisual' , WD_TABLE_DIRECTION .LTR ,
251+ 'w:tbl/w:tblPr/w:bidiVisual{w:val=0}' ),
252+ ('w:tbl/w:tblPr/w:bidiVisual{w:val=0}' , WD_TABLE_DIRECTION .RTL ,
253+ 'w:tbl/w:tblPr/w:bidiVisual' ),
254+ ('w:tbl/w:tblPr/w:bidiVisual{w:val=1}' , None ,
255+ 'w:tbl/w:tblPr' ),
256+ ])
257+ def direction_set_fixture (self , request ):
258+ tbl_cxml , new_value , expected_cxml = request .param
259+ table = Table (element (tbl_cxml ), None )
260+ expected_xml = xml (expected_cxml )
261+ return table , new_value , expected_xml
262+
242263 @pytest .fixture
243264 def row_cells_fixture (self , _cells_ , _column_count_ ):
244265 table = Table (None , None )
0 commit comments