aboutsummaryrefslogtreecommitdiff
path: root/tests/docx/styles_xml_tests.py
blob: 7e58333a311176cdb90d3d84c54f87d22100a8b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from nose.tools import istest, assert_equal

from mammoth.docx.xmlparser import element as xml_element
from mammoth.docx.styles_xml import read_styles_xml_element


@istest
def paragraph_style_is_null_if_no_style_with_that_id_exists():
    element = xml_element("w:styles")
    styles = read_styles_xml_element(element)
    assert_equal(None, styles.find_paragraph_style_by_id("Heading1"))


@istest
def paragraph_style_can_be_found_by_id():
    element = xml_element("w:styles", {}, [
        _paragraph_style_element("Heading1", "Heading 1"),
    ])
    styles = read_styles_xml_element(element)
    assert_equal("Heading1", styles.find_paragraph_style_by_id("Heading1").style_id)


def _paragraph_style_element(style_id, name):
    return _style_element("paragraph", style_id, name)

def _style_element(element_type, style_id, name):
    return xml_element("w:style", {"w:type": element_type, "w:styleId": style_id}, [
        xml_element("w:name", {"w:val": name}, [])
    ])