File: test_content_controls.py

package info (click to toggle)
python-docxcompose 1.4.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,100 kB
  • sloc: python: 2,336; makefile: 14; xml: 5; sh: 3
file content (42 lines) | stat: -rw-r--r-- 1,518 bytes parent folder | download | duplicates (3)
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
35
36
37
38
39
40
41
42
from docx import Document
from docxcompose.sdt import StructuredDocumentTags
from utils import ComparableDocument
from utils import docx_path
from utils import FixtureDocument


def test_set_sdt_text_content():
    doc = Document(docx_path('content_controls.docx'))
    sdt = StructuredDocumentTags(doc)
    sdt.set_text('cc.plain_text', u'Foo Bar')
    sdt.set_text('cc.plain_text_multiline', u'Foo Bar')
    sdt.set_text('cc.plain_text_empty', u'Foo Bar')
    sdt.set_text('cc.rich_text', u'Foo Bar')

    updated = ComparableDocument(doc)
    expected = FixtureDocument("content_controls.docx")

    assert updated == expected


def test_set_sdt_multiline_text_content():
    doc = Document(docx_path('content_controls_multiline_formatted.docx'))
    sdt = StructuredDocumentTags(doc)
    sdt.set_text('cc.plain_text', u'Line 1\nLine 2')
    sdt.set_text('cc.plain_text_multiline', u'Line 1\nLine 2')
    sdt.set_text('cc.plain_text_empty', u'Line 1\nLine 2')
    sdt.set_text('cc.rich_text', u'Line 1\nLine 2')

    updated = ComparableDocument(doc)
    expected = FixtureDocument("content_controls_multiline_formatted.docx")

    assert updated == expected


def test_get_sdt_multiline_text_content():
    doc = FixtureDocument("content_controls_multiline_formatted.docx")
    sdt = StructuredDocumentTags(doc.doc)

    assert sdt.get_text('cc.plain_text') == 'Line 1 Line 2'
    assert sdt.get_text('cc.plain_text_multiline') == 'Line 1\nLine 2'
    assert sdt.get_text('cc.plain_text_empty') == 'Line 1 Line 2'