Skip to content

Commit 75beb5c

Browse files
author
Steve Canny
committed
acpt: add scenarios for _LatentStyle on/off props
1 parent 3eb7d1e commit 75beb5c

File tree

3 files changed

+133
-0
lines changed

3 files changed

+133
-0
lines changed

features/steps/styles.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,36 @@ def given_a_latent_style_collection(context):
6363
context.latent_styles = document.styles.latent_styles
6464

6565

66+
@given('a latent style having a known name')
67+
def given_a_latent_style_having_a_known_name(context):
68+
document = Document(test_docx('sty-known-styles'))
69+
latent_styles = list(document.styles.latent_styles)
70+
context.latent_style = latent_styles[0] # should be 'Normal'
71+
72+
73+
@given('a latent style having priority of {setting}')
74+
def given_a_latent_style_having_priority_of_setting(context, setting):
75+
latent_style_name = {
76+
'42': 'Normal',
77+
'no setting': 'Subtitle',
78+
}[setting]
79+
document = Document(test_docx('sty-known-styles'))
80+
latent_styles = document.styles.latent_styles
81+
context.latent_style = latent_styles[latent_style_name]
82+
83+
84+
@given('a latent style having {prop_name} set {setting}')
85+
def given_a_latent_style_having_prop_setting(context, prop_name, setting):
86+
latent_style_name = {
87+
'on': 'Normal',
88+
'off': 'Title',
89+
'no setting': 'Subtitle',
90+
}[setting]
91+
document = Document(test_docx('sty-known-styles'))
92+
latent_styles = document.styles.latent_styles
93+
context.latent_style = latent_styles[latent_style_name]
94+
95+
6696
@given('a latent styles object with known defaults')
6797
def given_a_latent_styles_object_with_known_defaults(context):
6898
document = Document(test_docx('sty-known-styles'))
@@ -172,6 +202,15 @@ def when_I_assign_a_new_value_to_style_style_id(context):
172202
context.style.style_id = 'Foo42'
173203

174204

205+
@when('I assign {value} to latent_style.{prop_name}')
206+
def when_I_assign_value_to_latent_style_prop(context, value, prop_name):
207+
latent_style = context.latent_style
208+
new_value = (
209+
tri_state_vals[value] if value in tri_state_vals else int(value)
210+
)
211+
setattr(latent_style, prop_name, new_value)
212+
213+
175214
@when('I assign {value} to latent_styles.{prop_name}')
176215
def when_I_assign_value_to_latent_styles_prop(context, value, prop_name):
177216
latent_styles = context.latent_styles
@@ -277,6 +316,27 @@ def then_I_can_iterate_over_the_latent_styles(context):
277316
assert all(isinstance(ls, _LatentStyle) for ls in latent_styles)
278317

279318

319+
@then('latent_style.name is the known name')
320+
def then_latent_style_name_is_the_known_name(context):
321+
latent_style = context.latent_style
322+
assert latent_style.name == 'Normal'
323+
324+
325+
@then('latent_style.priority is {value}')
326+
def then_latent_style_priority_is_value(context, value):
327+
latent_style = context.latent_style
328+
expected_value = None if value == 'None' else int(value)
329+
assert latent_style.priority == expected_value
330+
331+
332+
@then('latent_style.{prop_name} is {value}')
333+
def then_latent_style_prop_name_is_value(context, prop_name, value):
334+
latent_style = context.latent_style
335+
actual_value = getattr(latent_style, prop_name)
336+
expected_value = tri_state_vals[value]
337+
assert actual_value == expected_value
338+
339+
280340
@then('latent_styles.{prop_name} is {value}')
281341
def then_latent_styles_prop_name_is_value(context, prop_name, value):
282342
latent_styles = context.latent_styles
30 Bytes
Binary file not shown.

features/sty-latent-props.feature

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,76 @@ Feature: Get and set latent style properties
3131
| default_to_locked | True | True |
3232
| default_to_quick_style | True | True |
3333
| default_to_unhide_when_used | False | False |
34+
35+
36+
@wip
37+
Scenario: Get latent style name
38+
Given a latent style having a known name
39+
Then latent_style.name is the known name
40+
41+
42+
@wip
43+
Scenario Outline: Get latent style display sort order
44+
Given a latent style having priority of <setting>
45+
Then latent_style.priority is <value>
46+
47+
Examples: latent_style.priority values
48+
| setting | value |
49+
| no setting | None |
50+
| 42 | 42 |
51+
52+
53+
@wip
54+
Scenario Outline: Set latent style display sort order
55+
Given a latent style having priority of <setting>
56+
When I assign <new-value> to latent_style.priority
57+
Then latent_style.priority is <value>
58+
59+
Examples: Latent style priority values
60+
| setting | new-value | value |
61+
| no setting | 42 | 42 |
62+
| 42 | 24 | 24 |
63+
| 42 | None | None |
64+
65+
66+
@wip
67+
Scenario Outline: Get on/off latent style properties
68+
Given a latent style having <prop-name> set <setting>
69+
Then latent_style.<prop-name> is <value>
70+
71+
Examples: Latent style hidden values
72+
| prop-name | setting | value |
73+
| hidden | on | True |
74+
| hidden | off | False |
75+
| hidden | no setting | None |
76+
| locked | on | True |
77+
| locked | off | False |
78+
| locked | no setting | None |
79+
| quick_style | on | True |
80+
| quick_style | off | False |
81+
| quick_style | no setting | None |
82+
| unhide_when_used | on | True |
83+
| unhide_when_used | off | False |
84+
| unhide_when_used | no setting | None |
85+
86+
87+
@wip
88+
Scenario Outline: Set on/off latent style properties
89+
Given a latent style having <prop-name> set <setting>
90+
When I assign <new-value> to latent_style.<prop-name>
91+
Then latent_style.<prop-name> is <value>
92+
93+
Examples: Latent style hidden values
94+
| prop-name | setting | new-value | value |
95+
| hidden | no setting | True | True |
96+
| hidden | on | False | False |
97+
| hidden | off | None | None |
98+
| locked | no setting | False | False |
99+
| locked | off | True | True |
100+
| locked | on | None | None |
101+
| quick_style | no setting | True | True |
102+
| quick_style | on | False | False |
103+
| quick_style | off | None | None |
104+
| unhide_when_used | no setting | False | False |
105+
| unhide_when_used | off | True | True |
106+
| unhide_when_used | on | False | False |

0 commit comments

Comments
 (0)