@@ -44,6 +44,11 @@ def it_knows_its_leader(self, leader_get_fixture):
4444 tab_stop , expected_value = leader_get_fixture
4545 assert tab_stop .leader == expected_value
4646
47+ def it_can_change_its_leader (self , leader_set_fixture ):
48+ tab_stop , value , expected_xml = leader_set_fixture
49+ tab_stop .leader = value
50+ assert tab_stop ._element .xml == expected_xml
51+
4752 # fixture --------------------------------------------------------
4853
4954 @pytest .fixture (params = [
@@ -78,6 +83,23 @@ def leader_get_fixture(self, request):
7883 expected_value = getattr (WD_TAB_LEADER , member )
7984 return tab_stop , expected_value
8085
86+ @pytest .fixture (params = [
87+ ('w:tab' , 'DOTS' , 'w:tab{w:leader=dot}' ),
88+ ('w:tab{w:leader=dot}' , 'DASHES' , 'w:tab{w:leader=hyphen}' ),
89+ ('w:tab{w:leader=hyphen}' , 'SPACES' , 'w:tab' ),
90+ ('w:tab{w:leader=hyphen}' , None , 'w:tab' ),
91+ ('w:tab' , 'SPACES' , 'w:tab' ),
92+ ('w:tab' , None , 'w:tab' ),
93+ ])
94+ def leader_set_fixture (self , request ):
95+ tab_stop_cxml , new_value , expected_cxml = request .param
96+ tab_stop = TabStop (element (tab_stop_cxml ))
97+ value = (
98+ None if new_value is None else getattr (WD_TAB_LEADER , new_value )
99+ )
100+ expected_xml = xml (expected_cxml )
101+ return tab_stop , value , expected_xml
102+
81103 @pytest .fixture
82104 def position_get_fixture (self , request ):
83105 tab_stop = TabStop (element ('w:tab{w:pos=720}' ))
0 commit comments