summaryrefslogtreecommitdiff
path: root/tests/docx/footnotes_xml_tests.py
blob: 645f3d08f9f551a409f808c6989ff073571521d6 (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
30
31
32
33
34
from nose.tools import istest, assert_equal

from mammoth.docx.xmlparser import element as xml_element
from mammoth.docx.footnotes_xml import read_footnotes_xml_element


@istest
def id_and_body_of_footnote_are_read():
    footnote_body = [xml_element("w:p")]
    footnotes = read_footnotes_xml_element(xml_element("w:footnotes", {}, [
        xml_element("w:footnote", {"w:id": "1"}, footnote_body),
    ]))
    assert_equal(1, len(footnotes))
    assert footnote_body is footnotes[0].body
    assert_equal("1", footnotes[0].id)


@istest
def continuation_separator_is_ignored():
    _assert_footnote_type_is_ignored("continuationSeparator")


@istest
def separator_is_ignored():
    _assert_footnote_type_is_ignored("separator")


def _assert_footnote_type_is_ignored(footnote_type):
    footnote_body = [xml_element("w:p")]
    footnotes = read_footnotes_xml_element(xml_element("w:footnotes", {}, [
        xml_element("w:footnote", {"w:id": "1", "w:type": footnote_type}, footnote_body),
    ]))
    assert_equal(0, len(footnotes))