@@ -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}' )
5264def 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})' )
7193def 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}' )
119152def then_style_builtin_is_builtin (context , builtin_str ):
120153 style = context .style
0 commit comments