Changeset - 0045d8d03205
[Not reviewed]
0 2 0
Brett Smith - 4 years ago 2021-01-09 15:09:08
brettcsmith@brettcsmith.org
fields: Add FormField.add_kid() method.
2 files changed with 14 insertions and 0 deletions:
0 comments (0 inline, 0 general)
conservancy_beancount/pdfforms/fields.py
Show inline comments
...
 
@@ -132,4 +132,10 @@ class FormField:
 
            return None
 

	
 
    def add_kid(self, kid: 'FormField') -> None:
 
        if kid.parent() is not None:
 
            raise ValueError("given kid field already has a parent")
 
        kid._source['Parent'] = self._source
 
        self._source.setdefault('Kids', []).append(kid._source)
 

	
 
    def is_terminal(self) -> bool:
 
        return not self._get_value('Kids', None)
tests/test_pdfforms_fields.py
Show inline comments
...
 
@@ -369,2 +369,10 @@ def test_recursive_as_mapping():
 
        assert field.name() == expected_name
 
    assert next(actual, None) is None
 

	
 
def test_add_kid():
 
    parent = fieldsmod.FormField(field_source('parent'))
 
    kid = fieldsmod.FormField(field_source('kid'))
 
    parent.add_kid(kid)
 
    actual, = parent.kids()
 
    assert actual.name() == 'kid'
 
    assert actual.parent().name() == 'parent'
0 comments (0 inline, 0 general)