Skip to content

Commit fd51c87

Browse files
author
Steve Canny
committed
acpt: add scenarios for BaseStyle.base_style
1 parent ec9e863 commit fd51c87

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

features/steps/styles.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,18 @@ def given_a_document_having_no_styles_part(context):
4848
context.document = Document(docx_path)
4949

5050

51+
@given('a style based on {base_style}')
52+
def given_a_style_based_on_setting(context, base_style):
53+
style_name = {
54+
'no style': 'Base',
55+
'Normal': 'Sub Normal',
56+
'Base': 'Citation',
57+
}[base_style]
58+
document = Document(test_docx('sty-known-styles'))
59+
context.styles = document.styles
60+
context.style = document.styles[style_name]
61+
62+
5163
@given('a style having a known {attr_name}')
5264
def given_a_style_having_a_known_attr_name(context, attr_name):
5365
docx_path = test_docx('sty-having-styles-part')
@@ -67,6 +79,16 @@ def when_I_assign_a_new_value_to_style_style_id(context):
6779
context.style.style_id = 'Foo42'
6880

6981

82+
@when('I assign {value_key} to style.base_style')
83+
def when_I_assign_value_to_style_base_style(context, value_key):
84+
value = {
85+
'None': None,
86+
'styles[\'Normal\']': context.styles['Normal'],
87+
'styles[\'Base\']': context.styles['Base'],
88+
}[value_key]
89+
context.style.base_style = value
90+
91+
7092
@when('I call add_style(\'{name}\', {type_str}, builtin={builtin_str})')
7193
def when_I_call_add_style(context, name, type_str, builtin_str):
7294
styles = context.document.styles
@@ -115,6 +137,17 @@ def then_len_styles_is_style_count(context, style_count_str):
115137
assert len(context.document.styles) == int(style_count_str)
116138

117139

140+
@then('style.base_style is {value_key}')
141+
def then_style_base_style_is_value(context, value_key):
142+
expected_value = {
143+
'None': None,
144+
'styles[\'Normal\']': context.styles['Normal'],
145+
'styles[\'Base\']': context.styles['Base'],
146+
}[value_key]
147+
style = context.style
148+
assert style.base_style == expected_value
149+
150+
118151
@then('style.builtin is {builtin_str}')
119152
def then_style_builtin_is_builtin(context, builtin_str):
120153
style = context.style

features/sty-style-props.feature

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,30 @@ Feature: Get and set style properties
44
I need a set of read/write style properties
55

66

7+
@wip
8+
Scenario Outline: Get base style
9+
Given a style based on <base-style>
10+
Then style.base_style is <value>
11+
12+
Examples: Base style values
13+
| base-style | value |
14+
| no style | None |
15+
| Normal | styles['Normal'] |
16+
17+
18+
@wip
19+
Scenario Outline: Set base style
20+
Given a style based on <base-style>
21+
When I assign <assigned-value> to style.base_style
22+
Then style.base_style is <value>
23+
24+
Examples: Base style values
25+
| base-style | assigned-value | value |
26+
| no style | styles['Normal'] | styles['Normal'] |
27+
| Normal | styles['Base'] | styles['Base'] |
28+
| Base | None | None |
29+
30+
731
Scenario: Get name
832
Given a style having a known name
933
Then style.name is the known name

0 commit comments

Comments
 (0)