mirror of
https://github.com/jmcnamara/libxlsxwriter.git
synced 2026-05-21 06:45:21 -06:00
Added support for headers and footers.
This commit is contained in:
parent
dcd2f60189
commit
0bc6eeb66a
8 changed files with 605 additions and 1 deletions
108
test/unit/worksheet/test_worksheet_write_header_footer.c
Normal file
108
test/unit/worksheet/test_worksheet_write_header_footer.c
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "xlsxwriter/worksheet.h"
|
||||
|
||||
// Test the header and footer functions.
|
||||
CTEST(worksheet, write_odd_header) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<oddHeader>Page &P of &N</oddHeader>";
|
||||
FILE* testfile = tmpfile();
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_header(worksheet, "Page &P of &N");
|
||||
|
||||
_worksheet_write_odd_header(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
// Test the header and footer functions.
|
||||
CTEST(worksheet, write_odd_footer) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<oddFooter>&F</oddFooter>";
|
||||
FILE* testfile = tmpfile();
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_footer(worksheet, "&F");
|
||||
|
||||
_worksheet_write_odd_footer(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
|
||||
// Test the header and footer functions.
|
||||
CTEST(worksheet, _worksheet_write_header_footer1) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<headerFooter><oddHeader>Page &P of &N</oddHeader></headerFooter>";
|
||||
FILE* testfile = tmpfile();
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_header(worksheet, "Page &P of &N");
|
||||
|
||||
_worksheet_write_header_footer(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
// Test the header and footer functions.
|
||||
CTEST(worksheet, _worksheet_write_header_footer2) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<headerFooter><oddFooter>&F</oddFooter></headerFooter>";
|
||||
FILE* testfile = tmpfile();
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_footer(worksheet, "&F");
|
||||
|
||||
_worksheet_write_header_footer(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
// Test the header and footer functions.
|
||||
CTEST(worksheet, _worksheet_write_header_footer3) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<headerFooter><oddHeader>Page &P of &N</oddHeader><oddFooter>&F</oddFooter></headerFooter>";
|
||||
FILE* testfile = tmpfile();
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_header(worksheet, "Page &P of &N");
|
||||
worksheet_set_footer(worksheet, "&F");
|
||||
|
||||
_worksheet_write_header_footer(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
|
@ -116,3 +116,26 @@ CTEST(worksheet, write_page_margin06) {
|
|||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
/* Test the _write_page_margins() method. */
|
||||
CTEST(worksheet, write_page_margin07) {
|
||||
char* got;
|
||||
char exp[] = "<pageMargins left=\"0.7\" right=\"0.7\" top=\"0.75\" "
|
||||
"bottom=\"0.75\" header=\"0.2\" footer=\"0.4\"/>";
|
||||
FILE* testfile = tmpfile();
|
||||
lxw_header_footer_options header_options = {0.2};
|
||||
lxw_header_footer_options footer_options = {0.4};
|
||||
|
||||
lxw_worksheet *worksheet = _new_worksheet(NULL);
|
||||
worksheet->file = testfile;
|
||||
|
||||
worksheet_set_header_opt(worksheet, "", &header_options);
|
||||
worksheet_set_footer_opt(worksheet, "", &footer_options);
|
||||
|
||||
_worksheet_write_page_margins(worksheet);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
_free_worksheet(worksheet);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue