初始化PHP-Xlswrite扩展
This commit is contained in:
15
library/libxlsxwriter/test/unit/workbook/main.c
Normal file
15
library/libxlsxwriter/test/unit/workbook/main.c
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Test runner for xmlwriter using ctest.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
#define CTEST_MAIN
|
||||
|
||||
#include "../ctest.h"
|
||||
|
||||
int main(int argc, const char *argv[])
|
||||
{
|
||||
return ctest_main(argc, argv);
|
||||
}
|
||||
|
112
library/libxlsxwriter/test/unit/workbook/test_workbook.c
Normal file
112
library/libxlsxwriter/test/unit/workbook/test_workbook.c
Normal file
@ -0,0 +1,112 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, 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);
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Tests for the libxlsxwriter library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
#include "../../../include/xlsxwriter/shared_strings.h"
|
||||
|
||||
/* Test finding a worksheet that does exist (implicit naming). */
|
||||
CTEST(workbook, get_worksheet_by_name01) {
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
|
||||
lxw_worksheet *exp = workbook_add_worksheet(workbook, NULL);
|
||||
lxw_worksheet *got = workbook_get_worksheet_by_name(workbook, "Sheet1");
|
||||
|
||||
ASSERT_TRUE(got == exp);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test finding a worksheet that does exist (explicit naming). */
|
||||
CTEST(workbook, get_worksheet_by_name02) {
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
|
||||
lxw_worksheet *exp = workbook_add_worksheet(workbook, "FOO");
|
||||
lxw_worksheet *got = workbook_get_worksheet_by_name(workbook, "FOO");
|
||||
|
||||
ASSERT_TRUE(got == exp);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test finding a worksheet that doesn't exist. */
|
||||
CTEST(workbook, get_worksheet_by_name03) {
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
lxw_worksheet *got = workbook_get_worksheet_by_name(workbook, "FOO");
|
||||
|
||||
ASSERT_TRUE(got == NULL);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test finding a worksheet when no worksheets exist. */
|
||||
CTEST(workbook, get_worksheet_by_name04) {
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
|
||||
lxw_worksheet *got = workbook_get_worksheet_by_name(workbook, "FOO");
|
||||
|
||||
ASSERT_TRUE(got == NULL);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test finding a worksheet with a NULL name. */
|
||||
CTEST(workbook, get_worksheet_by_name05) {
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
lxw_worksheet *got = workbook_get_worksheet_by_name(workbook, NULL);
|
||||
|
||||
ASSERT_TRUE(got == NULL);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
@ -0,0 +1,146 @@
|
||||
/*
|
||||
* Tests for the libxlsxwriter library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
#include "../../../include/xlsxwriter/shared_strings.h"
|
||||
|
||||
/* Test a valid sheet name. */
|
||||
CTEST(workbook, validate_worksheet_name01) {
|
||||
|
||||
const char* sheetname = "123456789_123456789_123456789_1";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
lxw_error exp = LXW_NO_ERROR;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that is too long. */
|
||||
CTEST(workbook, validate_worksheet_name02) {
|
||||
|
||||
const char* sheetname = "123456789_123456789_123456789_12";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_LENGTH_EXCEEDED;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name contains invalid characters. */
|
||||
CTEST(workbook, validate_worksheet_name03) {
|
||||
|
||||
const char* sheetname = "Sheet[1]";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
lxw_error exp = LXW_ERROR_INVALID_SHEETNAME_CHARACTER;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that already exists. */
|
||||
CTEST(workbook, validate_worksheet_name04) {
|
||||
|
||||
const char* sheetname = "Sheet1";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook_add_worksheet(workbook, sheetname);
|
||||
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_ALREADY_USED;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that starts with an apostrophe. */
|
||||
CTEST(workbook, validate_worksheet_name05) {
|
||||
|
||||
const char* sheetname = "'Sheet1";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_START_END_APOSTROPHE;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that ends with an apostrophe. */
|
||||
CTEST(workbook, validate_worksheet_name06) {
|
||||
|
||||
const char* sheetname = "Sheet1'";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_START_END_APOSTROPHE;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, sheetname);
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that already exists, case insensitive. */
|
||||
CTEST(workbook, validate_worksheet_name07) {
|
||||
|
||||
const char* sheetname = "Sheet1";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook_add_worksheet(workbook, sheetname);
|
||||
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_ALREADY_USED;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, "sheet1");
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that already exists, case insensitive. */
|
||||
CTEST(workbook, validate_worksheet_name08) {
|
||||
|
||||
const char* sheetname = "Café";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook_add_worksheet(workbook, sheetname);
|
||||
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_ALREADY_USED;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, "café");
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
/* Test a sheet name that already exists, case insensitive. */
|
||||
CTEST(workbook, validate_worksheet_name09) {
|
||||
|
||||
const char* sheetname = "abcde";
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook_add_worksheet(workbook, sheetname);
|
||||
|
||||
lxw_error exp = LXW_ERROR_SHEETNAME_ALREADY_USED;
|
||||
lxw_error got = workbook_validate_sheet_name(workbook, "ABCDE");
|
||||
|
||||
ASSERT_EQUAL(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_book_views() function.
|
||||
CTEST(workbook, write_book_views) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<bookViews><workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\"/></bookViews>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_book_views(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_calc_pr() function.
|
||||
CTEST(workbook, write_calc_pr) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<calcPr calcId=\"124519\" fullCalcOnLoad=\"1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_calc_pr(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Tests for the libxlsxwriter library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
/* Test the _write_defined_name() method. */
|
||||
CTEST(workbook, write_defined_name) {
|
||||
char* got;
|
||||
char exp[] = "<definedName name=\"_xlnm.Print_Titles\" localSheetId=\"0\">Sheet1!$1:$1</definedName>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
lxw_defined_name defined_name = {0, 0, "_xlnm.Print_Titles", "", "Sheet1!$1:$1", "", "", {NULL, NULL}};
|
||||
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_defined_name(workbook, &defined_name);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Tests for the libxlsxwriter library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
/* Test the _write_defined_names() method. */
|
||||
CTEST(workbook, write_defined_names) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<definedNames><definedName name=\"_xlnm.Print_Titles\" localSheetId=\"0\">Sheet1!$1:$1</definedName></definedNames>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
|
||||
_store_defined_name(workbook, "_xlnm.Print_Titles", "", "Sheet1!$1:$1", 0, 0);
|
||||
|
||||
_write_defined_names(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Test the _write_defined_name() method. */
|
||||
CTEST(workbook, write_defined_names_sorted) {
|
||||
char* got;
|
||||
char exp[] = "<definedNames><definedName name=\"_Egg\">Sheet1!$A$1</definedName><definedName name=\"_Fog\">Sheet1!$A$1</definedName><definedName name=\"aaa\" localSheetId=\"1\">Sheet2!$A$1</definedName><definedName name=\"Abc\">Sheet1!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"2\">'Sheet 3'!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"0\">Sheet1!$A$1</definedName><definedName name=\"Bar\" localSheetId=\"1\">Sheet2!$A$1</definedName><definedName name=\"Baz\">0.98</definedName><definedName name=\"car\" localSheetId=\"2\">\"Saab 900\"</definedName></definedNames>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
workbook_add_worksheet(workbook, "Sheet 3");
|
||||
|
||||
|
||||
workbook_define_name(workbook, "'Sheet 3'!Bar", "='Sheet 3'!$A$1");
|
||||
workbook_define_name(workbook, "Abc", "=Sheet1!$A$1" );
|
||||
workbook_define_name(workbook, "Baz", "=0.98" );
|
||||
workbook_define_name(workbook, "Sheet1!Bar", "=Sheet1!$A$1" );
|
||||
workbook_define_name(workbook, "Sheet2!Bar", "=Sheet2!$A$1" );
|
||||
workbook_define_name(workbook, "Sheet2!aaa", "=Sheet2!$A$1" );
|
||||
workbook_define_name(workbook, "'Sheet 3'!car", "=\"Saab 900\"" );
|
||||
workbook_define_name(workbook, "_Egg", "=Sheet1!$A$1" );
|
||||
workbook_define_name(workbook, "_Fog", "=Sheet1!$A$1" );
|
||||
|
||||
_write_defined_names(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_file_version() function.
|
||||
CTEST(workbook, write_file_version) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<fileVersion appName=\"xl\" lastEdited=\"4\" lowestEdited=\"4\" rupBuild=\"4505\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_file_version(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_sheet() function.
|
||||
CTEST(workbook, write_sheet1) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_sheet(workbook, "Sheet1", 1, 0);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
// Test the _write_sheet() function.
|
||||
CTEST(workbook, write_sheet2) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<sheet name=\"Sheet1\" sheetId=\"1\" state=\"hidden\" r:id=\"rId1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_sheet(workbook, "Sheet1", 1, 1);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
// Test the _write_sheet() function.
|
||||
CTEST(workbook, write_sheet3) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<sheet name=\"Bits & Bobs\" sheetId=\"1\" r:id=\"rId1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_sheet(workbook, "Bits & Bobs", 1, 0);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_sheets() function.
|
||||
CTEST(workbook, write_sheets) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<sheets><sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/></sheets>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
workbook_add_worksheet(workbook, NULL);
|
||||
|
||||
_write_sheets(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_workbook() function.
|
||||
CTEST(workbook, write_workbook) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_workbook(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_workbook_pr() function.
|
||||
CTEST(workbook, write_workbook_pr) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<workbookPr defaultThemeVersion=\"124226\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_workbook_pr(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,70 @@
|
||||
/*
|
||||
* Tests for the lib_xlsx_writer library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test the _write_workbook_view() function.
|
||||
CTEST(workbook, write_workbook_view1) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_write_workbook_view(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
// Test the _write_workbook_view() function.
|
||||
CTEST(workbook, write_workbook_view2) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\" activeTab=\"1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
workbook->active_sheet = 1;
|
||||
|
||||
_write_workbook_view(workbook);
|
||||
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
||||
// Test the _write_workbook_view() function.
|
||||
CTEST(workbook, write_workbook_view3) {
|
||||
|
||||
|
||||
char* got;
|
||||
char exp[] = "<workbookView xWindow=\"240\" yWindow=\"15\" windowWidth=\"16095\" windowHeight=\"9660\" firstSheet=\"2\" activeTab=\"1\"/>";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
workbook->active_sheet = 1;
|
||||
workbook->first_sheet = 2;
|
||||
|
||||
_write_workbook_view(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Tests for the libxlsxwriter library.
|
||||
*
|
||||
* Copyright 2014-2021, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../ctest.h"
|
||||
#include "../helper.h"
|
||||
|
||||
#include "../../../include/xlsxwriter/workbook.h"
|
||||
|
||||
// Test _xml_declaration().
|
||||
CTEST(workbook, xml_declaration) {
|
||||
|
||||
char* got;
|
||||
char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
|
||||
FILE* testfile = lxw_tmpfile(NULL);
|
||||
|
||||
lxw_workbook *workbook = workbook_new(NULL);
|
||||
workbook->file = testfile;
|
||||
|
||||
_workbook_xml_declaration(workbook);
|
||||
|
||||
RUN_XLSX_STREQ(exp, got);
|
||||
|
||||
lxw_workbook_free(workbook);
|
||||
}
|
Reference in New Issue
Block a user