// Test the _write_font() function. CTEST(styles, write_font13) { char* got; char exp[] = "<font><b/><i/><strike/><outline/><shadow/><u/><vertAlign val=\"superscript\"/><sz val=\"12\"/><color rgb=\"FFFF0000\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font>"; FILE* testfile = lxw_tmpfile(NULL); lxw_styles *styles = lxw_styles_new(); lxw_format *format = lxw_format_new(); format_set_bold(format); format_set_italic(format); format_set_font_size(format, 12); format_set_font_color(format, LXW_COLOR_RED); format_set_font_strikeout(format); format_set_font_outline(format); format_set_font_shadow(format); format_set_font_script(format, LXW_FONT_SUPERSCRIPT); format_set_underline(format, LXW_UNDERLINE_SINGLE); styles->file = testfile; _write_font(styles, format, LXW_FALSE); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); lxw_format_free(format); }
/* 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); }
// Test _xml_declaration(). CTEST(xmlwriter, xml_declaration) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; FILE* testfile = lxw_tmpfile(NULL); lxw_xml_declaration(testfile); RUN_XLSX_STREQ(exp, got); }
// Test _xml_empty_tag() with no attributes. CTEST(xmlwriter, xml_data_element) { char* got; char exp[] = "<foo>bar</foo>"; FILE* testfile = lxw_tmpfile(NULL); lxw_xml_data_element(testfile, "foo", "bar", NULL); RUN_XLSX_STREQ(exp, got); }
// Test _xml_end_tag(). CTEST(xmlwriter, xml_end_tag) { char* got; char exp[] = "</foo>"; FILE* testfile = lxw_tmpfile(NULL); lxw_xml_end_tag(testfile, "foo"); RUN_XLSX_STREQ(exp, got); }
/* Test the _write_page_setup() method. Without any page setup. */ CTEST(worksheet, write_page_setup01) { char* got; char exp[] = ""; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; _worksheet_write_page_setup(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
// Test _xml_declaration(). CTEST(chartsheet, xml_declaration) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; FILE* testfile = tmpfile(); lxw_chartsheet *chartsheet = lxw_chartsheet_new(NULL); chartsheet->file = testfile; _chartsheet_xml_declaration(chartsheet); RUN_XLSX_STREQ(exp, got); lxw_chartsheet_free(chartsheet); }
// 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); }
// Test the _write_sheet_format_pr() function. CTEST(worksheet, write_sheet_format_pr) { char* got; char exp[] = "<sheetFormatPr defaultRowHeight=\"15\"/>"; FILE* testfile = lxw_tmpfile(NULL); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; _worksheet_write_sheet_format_pr(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
// Test the _write_dxfs() function. CTEST(styles, write_dxfs) { char* got; char exp[] = "<dxfs count=\"0\"/>"; FILE* testfile = lxw_tmpfile(NULL); lxw_styles *styles = lxw_styles_new(); styles->file = testfile; _write_dxfs(styles); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); }
// Test the _write_table_styles() function. CTEST(styles, write_table_styles) { char* got; char exp[] = "<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleLight16\"/>"; FILE* testfile = tmpfile(); lxw_styles *styles = _new_styles(); styles->file = testfile; _write_table_styles(styles); RUN_XLSX_STREQ(exp, got); _free_styles(styles); }
// Test the _write_cell_style() function. CTEST(styles, write_cell_style) { char* got; char exp[] = "<cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/>"; FILE* testfile = lxw_tmpfile(NULL); lxw_styles *styles = lxw_styles_new(); styles->file = testfile; _write_cell_style(styles); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); }
// Test _xml_declaration(). CTEST(sst, xml_declaration) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; FILE* testfile = tmpfile(); lxw_sst *sst = lxw_sst_new(); sst->file = testfile; _sst_xml_declaration(sst); RUN_XLSX_STREQ(exp, got); lxw_sst_free(sst); }
// Test the _write_sheet_data() function. CTEST(worksheet, write_sheet_data) { char* got; char exp[] = "<sheetData/>"; FILE* testfile = lxw_tmpfile(NULL); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; _worksheet_write_sheet_data(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
/* Test the _write_page_setup() method. With set_landscape(); */ CTEST(worksheet, write_page_setup02) { char* got; char exp[] = "<pageSetup orientation=\"landscape\"/>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_set_landscape(worksheet); _worksheet_write_page_setup(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
/* 2. Test the _write_sheet_pr() method. */ CTEST(worksheet, write_write_sheet_pr02) { char* got; char exp[] = "<sheetPr><tabColor rgb=\"FFFF0000\"/></sheetPr>"; FILE* testfile = lxw_tmpfile(NULL); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_set_tab_color(worksheet, LXW_COLOR_RED); _worksheet_write_sheet_pr(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
// Test _xml_declaration(). CTEST(core, xml_declaration) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; FILE* testfile = tmpfile(); lxw_core *core = _new_core(); core->file = testfile; _core_xml_declaration(core); RUN_XLSX_STREQ(exp, got); _free_core(core); }
// 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); }
/* 1. Test the _write_sheet_pr() method. */ CTEST(worksheet, write_write_sheet_pr01) { char* got; char exp[] = "<sheetPr><pageSetUpPr fitToPage=\"1\"/></sheetPr>"; FILE* testfile = lxw_tmpfile(NULL); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet->fit_page = 1; _worksheet_write_sheet_pr(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
// Test the _write_style_xf() function. CTEST(styles, write_style_xf) { char* got; char exp[] = "<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/>"; FILE* testfile = lxw_tmpfile(NULL); lxw_styles *styles = lxw_styles_new(); styles->file = testfile; _write_style_xf(styles); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); }
/* Test the _write_page_setup() method. With print_across(); */ CTEST(worksheet, write_page_setup05) { char* got; char exp[] = "<pageSetup pageOrder=\"overThenDown\" orientation=\"portrait\"/>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_print_across(worksheet); _worksheet_write_page_setup(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
/* Test the _write_page_setup() method. With set_paper(); */ CTEST(worksheet, write_page_setup04) { char* got; char exp[] = "<pageSetup paperSize=\"9\" orientation=\"portrait\"/>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_set_paper(worksheet, 9); _worksheet_write_page_setup(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
// Test _xml_declaration(). CTEST(relationships, xml_declaration) { char* got; char exp[] = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; FILE* testfile = lxw_tmpfile(NULL); lxw_relationships *relationships = lxw_relationships_new(); relationships->file = testfile; _relationships_xml_declaration(relationships); RUN_XLSX_STREQ(exp, got); lxw_free_relationships(relationships); }
// Test the _write_sz() function. CTEST(styles, write_sz) { char* got; char exp[] = "<sz val=\"11\"/>"; FILE* testfile = tmpfile(); lxw_styles *styles = lxw_styles_new(); styles->file = testfile; _write_font_size(styles, 11); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); }
// Test the _write_style_sheet() function. CTEST(styles, write_style_sheet) { char* got; char exp[] = "<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\">"; FILE* testfile = lxw_tmpfile(NULL); lxw_styles *styles = lxw_styles_new(); styles->file = testfile; _write_style_sheet(styles); RUN_XLSX_STREQ(exp, got); lxw_styles_free(styles); }
/* 1. Test the _write_sheet_views() method with selection set. */ CTEST(worksheet, set_selection01) { char* got; char exp[] = "<sheetViews><sheetView tabSelected=\"1\" workbookViewId=\"0\"/></sheetViews>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_select(worksheet); worksheet_set_selection(worksheet, 0, 0, 0, 0); _worksheet_write_sheet_views(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
/* 5. Test the _write_sheet_views() method with selection set. */ CTEST(worksheet, set_selection05) { char* got; char exp[] = "<sheetViews><sheetView tabSelected=\"1\" workbookViewId=\"0\"><selection activeCell=\"D3\" sqref=\"D3:F4\"/></sheetView></sheetViews>"; FILE* testfile = tmpfile(); lxw_worksheet *worksheet = lxw_worksheet_new(NULL); worksheet->file = testfile; worksheet_select(worksheet); worksheet_set_selection(worksheet, RANGE("D3:F4")); _worksheet_write_sheet_views(worksheet); RUN_XLSX_STREQ(exp, got); lxw_worksheet_free(worksheet); }
/* 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); }
// 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); }
// Test the _write_sheet() function. CTEST(workbook, write_sheet3) { char* got; char exp[] = "<sheet name=\"Bits & Bobs\" sheetId=\"1\" r:id=\"rId1\"/>"; FILE* testfile = tmpfile(); lxw_workbook *workbook = new_workbook(NULL); workbook->file = testfile; _write_sheet(workbook, "Bits & Bobs", 1, 0); RUN_XLSX_STREQ(exp, got); _free_workbook(workbook); }