File: test_workbook.c

package info (click to toggle)
libxlsxwriter 1.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 37,888 kB
  • sloc: ansic: 65,861; python: 2,106; makefile: 693; perl: 229; sh: 224; xml: 168; cpp: 73; javascript: 5
file content (113 lines) | stat: -rw-r--r-- 3,990 bytes parent folder | download
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
 * Tests for the lib_xlsx_writer library.
 *
 * SPDX-License-Identifier: BSD-2-Clause
 * Copyright 2014-2026, John McNamara, jmcnamara@cpan.org.
 *
 */

#include "../ctest.h"
#include "../helper.h"

#include "../../../include/xlsxwriter/workbook.h"
#include "../../../include/xlsxwriter/shared_strings.h"

// Test assembling a complete Workbook file.
CTEST(workbook, workbook01) {

    char* got;
    char exp[] =
        "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"
        "<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">"
          "<fileVersion appName=\"xl\" lastEdited=\"4\" lowestEdited=\"4\" rupBuild=\"4505\"/>"
          "<workbookPr defaultThemeVersion=\"124226\"/>"
          "<bookViews>"
            "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\"/>"
          "</bookViews>"
          "<sheets>"
            "<sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/>"
          "</sheets>"
          "<calcPr calcId=\"124519\" fullCalcOnLoad=\"1\"/>"
        "</workbook>";

    FILE* testfile = lxw_tmpfile(NULL);

    lxw_workbook *workbook = workbook_new(NULL);
    workbook->file = testfile;

    workbook_add_worksheet(workbook, NULL);

    lxw_workbook_assemble_xml_file(workbook);

    RUN_XLSX_STREQ_SHORT(exp, got);

    lxw_workbook_free(workbook);
}

// Test assembling a complete Workbook file.
CTEST(workbook, workbook02) {

    char* got;
    char exp[] =
        "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"
        "<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">"
          "<fileVersion appName=\"xl\" lastEdited=\"4\" lowestEdited=\"4\" rupBuild=\"4505\"/>"
          "<workbookPr defaultThemeVersion=\"124226\"/>"
          "<bookViews>"
            "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\"/>"
          "</bookViews>"
          "<sheets>"
            "<sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/>"
            "<sheet name=\"Sheet2\" sheetId=\"2\" r:id=\"rId2\"/>"
          "</sheets>"
          "<calcPr calcId=\"124519\" fullCalcOnLoad=\"1\"/>"
        "</workbook>";

    FILE* testfile = lxw_tmpfile(NULL);

    lxw_workbook *workbook = workbook_new(NULL);
    workbook->file = testfile;

    workbook_add_worksheet(workbook, NULL);
    workbook_add_worksheet(workbook, NULL);

    lxw_workbook_assemble_xml_file(workbook);

    RUN_XLSX_STREQ_SHORT(exp, got);

    lxw_workbook_free(workbook);
}

// Test assembling a complete Workbook file.
CTEST(workbook, workbook03) {

    char* got;
    char exp[] =
        "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"
        "<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">"
          "<fileVersion appName=\"xl\" lastEdited=\"4\" lowestEdited=\"4\" rupBuild=\"4505\"/>"
          "<workbookPr defaultThemeVersion=\"124226\"/>"
          "<bookViews>"
            "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\"/>"
          "</bookViews>"
          "<sheets>"
            "<sheet name=\"Non Default Name\" sheetId=\"1\" r:id=\"rId1\"/>"
            "<sheet name=\"Another Name\" sheetId=\"2\" r:id=\"rId2\"/>"
          "</sheets>"
          "<calcPr calcId=\"124519\" fullCalcOnLoad=\"1\"/>"
        "</workbook>";

    FILE* testfile = lxw_tmpfile(NULL);

    lxw_workbook *workbook = workbook_new(NULL);
    workbook->file = testfile;

    workbook_add_worksheet(workbook, "Non Default Name");
    workbook_add_worksheet(workbook, "Another Name");

    lxw_workbook_assemble_xml_file(workbook);

    RUN_XLSX_STREQ_SHORT(exp, got);

    lxw_workbook_free(workbook);
}