Skip to content

Commit 9121e10

Browse files
author
Steve Canny
committed
style: add LatentStyles.default_priority setter
1 parent 45dd568 commit 9121e10

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

docx/styles/latent.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ def default_priority(self):
4444
"""
4545
return self._element.defUIPriority
4646

47+
@default_priority.setter
48+
def default_priority(self, value):
49+
self._element.defUIPriority = value
50+
4751
@property
4852
def default_to_hidden(self):
4953
"""

tests/styles/test_latent.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from docx.styles.latent import _LatentStyle, LatentStyles
1414

15-
from ..unitutil.cxml import element
15+
from ..unitutil.cxml import element, xml
1616

1717

1818
class DescribeLatentStyles(object):
@@ -43,6 +43,11 @@ def it_knows_its_default_priority(self, priority_get_fixture):
4343
latent_styles, expected_value = priority_get_fixture
4444
assert latent_styles.default_priority == expected_value
4545

46+
def it_can_change_its_default_priority(self, priority_set_fixture):
47+
latent_styles, value, expected_xml = priority_set_fixture
48+
latent_styles.default_priority = value
49+
assert latent_styles._element.xml == expected_xml
50+
4651
def it_knows_its_load_count(self, count_get_fixture):
4752
latent_styles, expected_value = count_get_fixture
4853
assert latent_styles.load_count == expected_value
@@ -128,3 +133,17 @@ def priority_get_fixture(self, request):
128133
latentStyles_cxml, expected_value = request.param
129134
latent_styles = LatentStyles(element(latentStyles_cxml))
130135
return latent_styles, expected_value
136+
137+
@pytest.fixture(params=[
138+
('w:latentStyles', 42,
139+
'w:latentStyles{w:defUIPriority=42}'),
140+
('w:latentStyles{w:defUIPriority=24}', 42,
141+
'w:latentStyles{w:defUIPriority=42}'),
142+
('w:latentStyles{w:defUIPriority=24}', None,
143+
'w:latentStyles'),
144+
])
145+
def priority_set_fixture(self, request):
146+
latentStyles_cxml, value, expected_cxml = request.param
147+
latent_styles = LatentStyles(element(latentStyles_cxml))
148+
expected_xml = xml(expected_cxml)
149+
return latent_styles, value, expected_xml

0 commit comments

Comments
 (0)