mirror of
https://github.com/jmcnamara/libxlsxwriter
synced 2025-03-28 21:13:14 +00:00
worksheet: add extra tests for sheet name quoting
This commit is contained in:
parent
f483e65f2e
commit
f2084bcf78
51
test/functional/src/test_quote_name01.c
Normal file
51
test/functional/src/test_quote_name01.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name01.xlsx");
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
char *sheetnames[] = {
|
||||
"Sheet 1",
|
||||
"Sheet 2",
|
||||
"Sheet!3",
|
||||
"Sheet\"4",
|
||||
"Sheet#5",
|
||||
"Sheet$6",
|
||||
"Sheet%7",
|
||||
"Sheet&8",
|
||||
};
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]);
|
||||
|
||||
for (int row = 0; row < 5; row++)
|
||||
for (int col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE);
|
||||
lxw_chart_series *series = chart_add_series(chart, NULL, NULL);
|
||||
chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0);
|
||||
|
||||
lxw_chart_options options = {.x_offset = 26, .y_offset = 17};
|
||||
worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options);
|
||||
}
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
51
test/functional/src/test_quote_name02.c
Normal file
51
test/functional/src/test_quote_name02.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name02.xlsx");
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
char *sheetnames[] = {
|
||||
"Sheet'1",
|
||||
"S'heet'2",
|
||||
"Sheet(3",
|
||||
"Sheet)4",
|
||||
"Sheet+5",
|
||||
"Sheet,6",
|
||||
"Sheet-7",
|
||||
"Sheet;8",
|
||||
};
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]);
|
||||
|
||||
for (int row = 0; row < 5; row++)
|
||||
for (int col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE);
|
||||
lxw_chart_series *series = chart_add_series(chart, NULL, NULL);
|
||||
chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0);
|
||||
|
||||
lxw_chart_options options = {.x_offset = 26, .y_offset = 17};
|
||||
worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options);
|
||||
}
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
51
test/functional/src/test_quote_name03.c
Normal file
51
test/functional/src/test_quote_name03.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name03.xlsx");
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
char *sheetnames[] = {
|
||||
"Sheet<1",
|
||||
"Sheet>2",
|
||||
"Sheet=3",
|
||||
"Sheet@4",
|
||||
"Sheet^5",
|
||||
"Sheet`6",
|
||||
"Sheet_7",
|
||||
"Sheet~8",
|
||||
};
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetnames[i]);
|
||||
|
||||
for (int row = 0; row < 5; row++) for (int col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE);
|
||||
lxw_chart_series *series = chart_add_series(chart, NULL, NULL);
|
||||
chart_series_set_values(series, sheetnames[i], 0, 0, 4, 0);
|
||||
|
||||
lxw_chart_options options = {.x_offset = 26, .y_offset = 17};
|
||||
worksheet_insert_chart_opt(worksheet, CELL("E6"), chart, &options);
|
||||
}
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
41
test/functional/src/test_quote_name04.c
Normal file
41
test/functional/src/test_quote_name04.c
Normal file
@ -0,0 +1,41 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name04.xlsx");
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
char *sheetname = "Sheet 1";
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname);
|
||||
|
||||
for (int row = 0; row < 5; row++)
|
||||
for (int col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_PIE);
|
||||
|
||||
lxw_chart_series *series = chart_add_series(chart, NULL, NULL);
|
||||
chart_series_set_values(series, sheetname, 0, 0, 4, 0);
|
||||
chart_series_set_name_range(series, sheetname, 0, 0);
|
||||
|
||||
chart_title_set_name(chart, "Foo");
|
||||
|
||||
worksheet_insert_chart(worksheet, CELL("E9"), chart);
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
51
test/functional/src/test_quote_name05.c
Normal file
51
test/functional/src/test_quote_name05.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name05.xlsx");
|
||||
|
||||
char *sheetname = "Sheet1";
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname);
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
|
||||
|
||||
/* For testing, copy the randomly generated axis ids in the target file. */
|
||||
chart->axis_id_1 = 54437760;
|
||||
chart->axis_id_2 = 59195776;
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
int row, col;
|
||||
for (row = 0; row < 5; row++)
|
||||
for (col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
worksheet_repeat_rows(worksheet, 0, 1);
|
||||
worksheet_set_portrait(worksheet);
|
||||
worksheet->vertical_dpi = 200;
|
||||
|
||||
lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL);
|
||||
|
||||
chart_series_set_values(series1, sheetname, 0, 0, 4, 0);
|
||||
chart_series_set_values(series2, sheetname, 0, 1, 4, 1);
|
||||
chart_series_set_values(series3, sheetname, 0, 2, 4, 2);
|
||||
|
||||
worksheet_insert_chart(worksheet, CELL("E9"), chart);
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
51
test/functional/src/test_quote_name06.c
Normal file
51
test/functional/src/test_quote_name06.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name06.xlsx");
|
||||
|
||||
char *sheetname = "Sheet-1";
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname);
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
|
||||
|
||||
/* For testing, copy the randomly generated axis ids in the target file. */
|
||||
chart->axis_id_1 = 62284544;
|
||||
chart->axis_id_2 = 83429248;
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
int row, col;
|
||||
for (row = 0; row < 5; row++)
|
||||
for (col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
worksheet_repeat_rows(worksheet, 0, 1);
|
||||
worksheet_set_portrait(worksheet);
|
||||
worksheet->vertical_dpi = 200;
|
||||
|
||||
lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL);
|
||||
|
||||
chart_series_set_values(series1, sheetname, 0, 0, 4, 0);
|
||||
chart_series_set_values(series2, sheetname, 0, 1, 4, 1);
|
||||
chart_series_set_values(series3, sheetname, 0, 2, 4, 2);
|
||||
|
||||
worksheet_insert_chart(worksheet, CELL("E9"), chart);
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
51
test/functional/src/test_quote_name07.c
Normal file
51
test/functional/src/test_quote_name07.c
Normal file
@ -0,0 +1,51 @@
|
||||
/*****************************************************************************
|
||||
* Test cases for libxlsxwriter.
|
||||
*
|
||||
* Test to compare output against Excel files.
|
||||
*
|
||||
* Copyright 2014-2024, John McNamara, jmcnamara@cpan.org
|
||||
*
|
||||
*/
|
||||
|
||||
#include "xlsxwriter.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
lxw_workbook *workbook = workbook_new("test_quote_name07.xlsx");
|
||||
|
||||
char *sheetname = "Sheet'1";
|
||||
lxw_worksheet *worksheet = workbook_add_worksheet(workbook, sheetname);
|
||||
lxw_chart *chart = workbook_add_chart(workbook, LXW_CHART_COLUMN);
|
||||
|
||||
/* For testing, copy the randomly generated axis ids in the target file. */
|
||||
chart->axis_id_1 = 48135552;
|
||||
chart->axis_id_2 = 54701056;
|
||||
|
||||
uint8_t data[5][3] = {
|
||||
{1, 2, 3},
|
||||
{2, 4, 6},
|
||||
{3, 6, 9},
|
||||
{4, 8, 12},
|
||||
{5, 10, 15}};
|
||||
|
||||
int row, col;
|
||||
for (row = 0; row < 5; row++)
|
||||
for (col = 0; col < 3; col++)
|
||||
worksheet_write_number(worksheet, row, col, data[row][col], NULL);
|
||||
|
||||
worksheet_repeat_rows(worksheet, 0, 1);
|
||||
worksheet_set_portrait(worksheet);
|
||||
worksheet->vertical_dpi = 200;
|
||||
|
||||
lxw_chart_series *series1 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series2 = chart_add_series(chart, NULL, NULL);
|
||||
lxw_chart_series *series3 = chart_add_series(chart, NULL, NULL);
|
||||
|
||||
chart_series_set_values(series1, sheetname, 0, 0, 4, 0);
|
||||
chart_series_set_values(series2, sheetname, 0, 1, 4, 1);
|
||||
chart_series_set_values(series3, sheetname, 0, 2, 4, 2);
|
||||
|
||||
worksheet_insert_chart(worksheet, CELL("E9"), chart);
|
||||
|
||||
return workbook_close(workbook);
|
||||
}
|
36
test/functional/test_quote_name.py
Normal file
36
test/functional/test_quote_name.py
Normal file
@ -0,0 +1,36 @@
|
||||
###############################################################################
|
||||
#
|
||||
# Tests for libxlsxwriter.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
# Copyright 2014-2024, John McNamara, jmcnamara@cpan.org.
|
||||
#
|
||||
|
||||
import base_test_class
|
||||
|
||||
class TestCompareXLSXFiles(base_test_class.XLSXBaseTest):
|
||||
"""
|
||||
Test file created with libxlsxwriter against a file created by Excel.
|
||||
|
||||
"""
|
||||
|
||||
def test_quote_name01(self):
|
||||
self.run_exe_test('test_quote_name01')
|
||||
|
||||
def test_quote_name02(self):
|
||||
self.run_exe_test('test_quote_name02')
|
||||
|
||||
def test_quote_name03(self):
|
||||
self.run_exe_test('test_quote_name03')
|
||||
|
||||
def test_quote_name04(self):
|
||||
self.run_exe_test('test_quote_name04')
|
||||
|
||||
def test_quote_name05(self):
|
||||
self.run_exe_test('test_quote_name05')
|
||||
|
||||
def test_quote_name06(self):
|
||||
self.run_exe_test('test_quote_name06')
|
||||
|
||||
def test_quote_name07(self):
|
||||
self.run_exe_test('test_quote_name07')
|
BIN
test/functional/xlsx_files/quote_name01.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name01.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name02.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name02.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name03.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name03.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name04.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name04.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name05.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name05.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name06.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name06.xlsx
Normal file
Binary file not shown.
BIN
test/functional/xlsx_files/quote_name07.xlsx
Normal file
BIN
test/functional/xlsx_files/quote_name07.xlsx
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user