enable more tests

This commit is contained in:
Thomas Fussell 2014-05-12 13:42:28 -04:00
parent d80ba60b31
commit 99d609ce3a
18 changed files with 1600 additions and 1123 deletions

View File

@ -90,7 +90,7 @@ public:
void test_initial_value() void test_initial_value()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1, "17.5"); xlnt::cell cell(ws, "A", 1, "17.5");
TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
@ -99,7 +99,7 @@ public:
void test_null() void test_null()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
TS_ASSERT_EQUALS(xlnt::cell::type::null, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::null, cell.get_data_type());
@ -108,7 +108,7 @@ public:
void test_numeric() void test_numeric()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1, "17.5"); xlnt::cell cell(ws, "A", 1, "17.5");
cell = 42; cell = 42;
@ -140,7 +140,7 @@ public:
void test_string() void test_string()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = "hello"; cell = "hello";
@ -150,7 +150,7 @@ public:
void test_single_dot() void test_single_dot()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = "."; cell = ".";
TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type());
@ -159,7 +159,7 @@ public:
void test_formula() void test_formula()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = "=42"; cell = "=42";
TS_ASSERT_EQUALS(xlnt::cell::type::formula, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::formula, cell.get_data_type());
@ -168,7 +168,7 @@ public:
void test_boolean() void test_boolean()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = true; cell = true;
TS_ASSERT_EQUALS(xlnt::cell::type::boolean, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::boolean, cell.get_data_type());
@ -179,86 +179,80 @@ public:
void test_leading_zero() void test_leading_zero()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = "0800"; cell = "0800";
TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type());
} }
void check_error() void test_error_codes()
{ {
//TS_ASSERT_EQUALS(xlnt::cell::type::error, cell.get_data_type()); xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1);
//for(error_string in cell.ERROR_CODES.keys()) for(auto error : xlnt::cell::ErrorCodes)
//{ {
// cell.value = error_string; cell = error.first;
// yield check_error; TS_ASSERT_EQUALS(xlnt::cell::type::error, cell.get_data_type());
//} }
} }
void test_data_type_check() void test_data_type_check()
{ {
//xlnt::workbook wb; xlnt::workbook wb;
//xlnt::worksheet ws(wb); xlnt::worksheet ws = wb.get_active_sheet();
//xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
//cell.bind_value(xlnt::cell::$); TS_ASSERT_EQUALS(xlnt::cell::type::null, cell.get_data_type());
//TS_ASSERT_EQUALS(xlnt::cell::type::null, cell.get_data_type());
//cell.bind_value(".0e000"); cell.bind_value(".0e000");
//TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
//cell.bind_value("-0.e-0"); cell.bind_value("-0.e-0");
//TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
//cell.bind_value("1E"); cell.bind_value("1E");
//TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::string, cell.get_data_type());
} }
void test_set_bad_type() void test_set_bad_type()
{ {
//xlnt::workbook wb; xlnt::workbook wb;
//xlnt::worksheet ws(wb); xlnt::worksheet ws = wb.get_active_sheet();
//xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
//cell.set_value_explicit(1, "q"); cell.set_explicit_value("1", xlnt::cell::type::formula);
} }
void test_time() void test_time()
{ {
//auto check_time = [](raw_value, coerced_value) xlnt::workbook wb;
//{ xlnt::worksheet ws = wb.get_active_sheet();
// cell.value = raw_value xlnt::cell cell(ws, "A", 1);
// TS_ASSERT_EQUALS(cell.value, coerced_value)
// TS_ASSERT_EQUALS(cell.TYPE_NUMERIC, cell.data_type)
//};
//xlnt::workbook wb; cell = "03:40:16";
//xlnt::worksheet ws(wb); TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
//xlnt::cell cell(ws, "A", 1); tm expected1;
expected1.tm_hour = 3;
expected1.tm_min = 40;
expected1.tm_sec = 16;
TS_ASSERT(cell == expected1);
//cell = "03:40:16"; cell = "03:40";
//TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type()); TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
//tm expected; tm expected2;
//expected.tm_hour = 3; expected2.tm_hour = 3;
//expected.tm_min = 40; expected2.tm_min = 40;
//expected.tm_sec = 16; TS_ASSERT(cell == expected1);
//TS_ASSERT_EQUALS(cell, expected);
//cell = "03:40";
//TS_ASSERT_EQUALS(xlnt::cell::type::numeric, cell.get_data_type());
//tm expected;
//expected.tm_hour = 3;
//expected.tm_min = 40;
//TS_ASSERT_EQUALS(cell, expected);
} }
void test_date_format_on_non_date() void test_date_format_on_non_date()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
time_t t = time(0); time_t t = time(0);
@ -279,7 +273,7 @@ public:
today.tm_sec = 20; today.tm_sec = 20;
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
cell = today; cell = today;
@ -289,7 +283,7 @@ public:
void test_repr() void test_repr()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
TS_ASSERT_EQUALS(cell.to_string(), "<Cell Sheet1.A1>"); TS_ASSERT_EQUALS(cell.to_string(), "<Cell Sheet1.A1>");
@ -298,7 +292,7 @@ public:
void test_is_date() void test_is_date()
{ {
xlnt::workbook wb; xlnt::workbook wb;
xlnt::worksheet ws = wb.get_active(); xlnt::worksheet ws = wb.get_active_sheet();
xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
time_t t = time(0); time_t t = time(0);
@ -314,13 +308,13 @@ public:
void test_is_not_date_color_format() void test_is_not_date_color_format()
{ {
//xlnt::workbook wb; xlnt::workbook wb;
//xlnt::worksheet ws(wb); xlnt::worksheet ws = wb.get_active_sheet();
//xlnt::cell cell(ws, "A", 1); xlnt::cell cell(ws, "A", 1);
//cell = -13.5; cell = -13.5;
//cell.get_style().get_number_format().set_format_code("0.00_);[Red]\(0.00\)"); cell.get_style().get_number_format().set_format_code("0.00_);[Red]\(0.00\)");
//TS_ASSERT_EQUALS(cell.is_date(), false); TS_ASSERT_EQUALS(cell.is_date(), false);
} }
}; };

View File

@ -15,27 +15,27 @@ public:
void _get_test_filename() void _get_test_filename()
{ {
/*test_file = NamedTemporaryFile(mode = "w", prefix = "openpyxl.", suffix = ".xlsx", delete = False); NamedTemporaryFile test_file("w", "xlnt.", ".xlsx", false);
test_file.close(); test_file.close();
return test_file.name;*/ return test_file.name;
} }
//_COL_CONVERSION_CACHE = dict((get_column_letter(i), i) for i in range(1, 18279)); _COL_CONVERSION_CACHE = dict((get_column_letter(i), i) for i in range(1, 18279));
void test_dump_sheet_title() void test_dump_sheet_title()
{ {
/*test_filename = _get_test_filename(); test_filename = _get_test_filename();
wb = Workbook(optimized_write = True); wb = Workbook(optimized_write = True);
ws = wb.create_sheet(title = "Test1"); ws = wb.create_sheet(title = "Test1");
wb.save(test_filename); wb.save(test_filename);
wb2 = load_workbook(test_filename, True); wb2 = load_workbook(test_filename, True);
ws = wb2.get_sheet_by_name("Test1"); ws = wb2.get_sheet_by_name("Test1");
TS_ASSERT_EQUALS("Test1", ws.title);*/ TS_ASSERT_EQUALS("Test1", ws.title);
} }
void test_dump_sheet() void test_dump_sheet()
{ {
/*test_filename = _get_test_filename(); test_filename = _get_test_filename();
wb = Workbook(optimized_write = True); wb = Workbook(optimized_write = True);
ws = wb.create_sheet(); ws = wb.create_sheet();
letters = [get_column_letter(x + 1) for x in range(20)]; letters = [get_column_letter(x + 1) for x in range(20)];
@ -43,116 +43,116 @@ public:
for(auto row : range(20)) for(auto row : range(20))
{ {
expected_rows.append(["%s%d" % (letter, row + 1) for letter in letters]); expected_rows.append(["%s%d" % (letter, row + 1) for letter in letters]);
for row in range(20) for(auto row in range(20))
{ {
expected_rows.append([(row + 1) for letter in letters]); expected_rows.append([(row + 1) for letter in letters]);
for row in range(10) for(auto row in range(10))
{ {
expected_rows.append([datetime(2010, ((x % 12) + 1), row + 1) for x in range(len(letters))]); expected_rows.append([datetime(2010, ((x % 12) + 1), row + 1) for x in range(len(letters))]);
for row in range(20) for(auto row in range(20))
{ {
expected_rows.append(["=%s%d" % (letter, row + 1) for letter in letters]); expected_rows.append(["=%s%d" % (letter, row + 1) for letter in letters]);
for row in expected_rows for(auto row in expected_rows)
{ {
ws.append(row); ws.append(row);
} }
wb.save(test_filename); wb.save(test_filename);
wb2 = load_workbook(test_filename, True) wb2 = load_workbook(test_filename, True);
} }
ws = wb2.worksheets[0] ws = wb2.worksheets[0];
} }
} }
} }
for ex_row, ws_row in zip(expected_rows[:-20], ws.iter_rows()) for(auto ex_row, ws_row : zip(expected_rows[:-20], ws.iter_rows()))
{ {
for ex_cell, ws_cell in zip(ex_row, ws_row) for(auto ex_cell, ws_cell : zip(ex_row, ws_row))
{ {
TS_ASSERT_EQUALS(ex_cell, ws_cell.internal_value) TS_ASSERT_EQUALS(ex_cell, ws_cell.internal_value);
os.remove(test_filename) os.remove(test_filename);
} }
}*/ }
} }
void test_table_builder() void test_table_builder()
{ {
//sb = StringTableBuilder() sb = StringTableBuilder();
// result = {"a":0, "b" : 1, "c" : 2, "d" : 3} result = {"a":0, "b" : 1, "c" : 2, "d" : 3};
// for letter in sorted(result.keys()) for(auto letter in sorted(result.keys()))
// { {
// for x in range(5) for x in range(5)
// { {
// sb.add(letter) sb.add(letter)
// table = dict(sb.get_table()) table = dict(sb.get_table())
// try try
// { {
// result_items = result.items() result_items = result.items()
// } }
// for key, idx in result_items for key, idx in result_items
// { {
// TS_ASSERT_EQUALS(idx, table[key]) TS_ASSERT_EQUALS(idx, table[key])
// } }
// } }
// } }
} }
void test_open_too_many_files() void test_open_too_many_files()
{ {
//test_filename = _get_test_filename(); test_filename = _get_test_filename();
//wb = Workbook(optimized_write = True); wb = Workbook(optimized_write = True);
//for i in range(200) // over 200 worksheets should raise an OSError("too many open files") for i in range(200) over 200 worksheets should raise an OSError("too many open files")
//{ {
// wb.create_sheet(); wb.create_sheet();
// wb.save(test_filename); wb.save(test_filename);
// os.remove(test_filename); os.remove(test_filename);
//} }
} }
void test_create_temp_file() void test_create_temp_file()
{ {
//f = dump_worksheet.create_temporary_file(); f = dump_worksheet.create_temporary_file();
//if(!osp.isfile(f)) if(!osp.isfile(f))
//{ {
// raise Exception("The file %s does not exist" % f) raise Exception("The file %s does not exist" % f)
//} }
} }
void test_dump_twice() void test_dump_twice()
{ {
//test_filename = _get_test_filename(); test_filename = _get_test_filename();
//wb = Workbook(optimized_write = True); wb = Workbook(optimized_write = True);
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.append(["hello"]); ws.append(["hello"]);
//wb.save(test_filename); wb.save(test_filename);
//os.remove(test_filename); os.remove(test_filename);
//wb.save(test_filename); wb.save(test_filename);
} }
void test_append_after_save() void test_append_after_save()
{ {
//test_filename = _get_test_filename(); test_filename = _get_test_filename();
//wb = Workbook(optimized_write = True); wb = Workbook(optimized_write = True);
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.append(["hello"]); ws.append(["hello"]);
//wb.save(test_filename); wb.save(test_filename);
//os.remove(test_filename); os.remove(test_filename);
//ws.append(["hello"]); ws.append(["hello"]);
} }
}; };

View File

@ -1,46 +0,0 @@
#pragma once
#include <iostream>
#include <cxxtest/TestSuite.h>
#include "../xlnt.h"
class IntegrationTestSuite : public CxxTest::TestSuite
{
public:
IntegrationTestSuite()
{
}
void test_1()
{
xlnt::workbook wb;
auto ws = wb.get_active();
auto ws1 = wb.create_sheet();
auto ws2 = wb.create_sheet(0);
ws.set_title("New Title");
auto ws3 = wb["New Title"];
auto ws4 = wb.get_sheet_by_name("New Title");
TS_ASSERT_EQUALS(ws, ws3);
TS_ASSERT_EQUALS(ws, ws4);
TS_ASSERT_EQUALS(ws3, ws4);
auto sheet_names = wb.get_sheet_names();
for(auto sheet : wb)
{
std::cout << sheet.get_title() << std::endl;
}
//auto cell_range = ws["A1:C2"];
/* auto c = ws["A4"];
ws["A4"] = 4;
auto d = ws.cell(4, 2);
c = "hello, world";
std::cout << c << std::endl;
d = 3.14;
std::cout << d << std::endl;
wb.save("balances.xlsx");*/
}
};

View File

@ -20,80 +20,80 @@ public:
void test_get_dimensions() void test_get_dimensions()
{ {
//expected = ["A1:G5", "D1:K30", "D2:D2", "A1:C1"]; expected = ["A1:G5", "D1:K30", "D2:D2", "A1:C1"];
//wb = _open_wb(); wb = _open_wb();
//for i, sheetn in enumerate(wb.get_sheet_names()) for i, sheetn in enumerate(wb.get_sheet_names())
//{ {
// ws = wb.get_sheet_by_name(name = sheetn); ws = wb.get_sheet_by_name(name = sheetn);
// TS_ASSERT_EQUALS(ws._dimensions, expected[i]); TS_ASSERT_EQUALS(ws._dimensions, expected[i]);
//} }
} }
void test_read_fast_integrated() void test_read_fast_integrated()
{ {
//sheet_name = "Sheet1 - Text" sheet_name = "Sheet1 - Text"
// expected = [["This is cell A1 in Sheet 1", None, None, None, None, None, None], expected = [["This is cell A1 in Sheet 1", None, None, None, None, None, None],
// [None, None, None, None, None, None, None], [None, None, None, None, None, None, None],
// [None, None, None, None, None, None, None], [None, None, None, None, None, None, None],
// [None, None, None, None, None, None, None], [None, None, None, None, None, None, None],
// [None, None, None, None, None, None, "This is cell G5"], ] [None, None, None, None, None, None, "This is cell G5"], ]
// wb = load_workbook(filename = workbook_name, use_iterators = True) wb = load_workbook(filename = workbook_name, use_iterators = True)
// ws = wb.get_sheet_by_name(name = sheet_name) ws = wb.get_sheet_by_name(name = sheet_name)
// for row, expected_row in zip(ws.iter_rows(), expected) : for row, expected_row in zip(ws.iter_rows(), expected) :
// row_values = [x.internal_value for x in row] row_values = [x.internal_value for x in row]
// TS_ASSERT_EQUALS(row_values, expected_row) TS_ASSERT_EQUALS(row_values, expected_row)
} }
void test_get_boundaries_range() void test_get_boundaries_range()
{ {
//TS_ASSERT_EQUALS(get_range_boundaries("C1:C4"), (3, 1, 3, 4)) TS_ASSERT_EQUALS(get_range_boundaries("C1:C4"), (3, 1, 3, 4))
} }
void test_get_boundaries_one() void test_get_boundaries_one()
{ {
//TS_ASSERT_EQUALS(get_range_boundaries("C1"), (3, 1, 4, 1)) TS_ASSERT_EQUALS(get_range_boundaries("C1"), (3, 1, 4, 1))
} }
void test_read_single_cell_range() void test_read_single_cell_range()
{ {
//wb = load_workbook(filename = workbook_name, use_iterators = True) wb = load_workbook(filename = workbook_name, use_iterators = True)
// ws = wb.get_sheet_by_name(name = sheet_name) ws = wb.get_sheet_by_name(name = sheet_name)
// TS_ASSERT_EQUALS("This is cell A1 in Sheet 1", list(ws.iter_rows("A1"))[0][0].internal_value) TS_ASSERT_EQUALS("This is cell A1 in Sheet 1", list(ws.iter_rows("A1"))[0][0].internal_value)
} }
void test_read_fast_integrated2() void test_read_fast_integrated2()
{ {
//sheet_name = "Sheet2 - Numbers" sheet_name = "Sheet2 - Numbers"
// expected = [[x + 1] for x in range(30)] expected = [[x + 1] for x in range(30)]
// query_range = "D1:E30" query_range = "D1:E30"
// wb = load_workbook(filename = workbook_name, use_iterators = True) wb = load_workbook(filename = workbook_name, use_iterators = True)
// ws = wb.get_sheet_by_name(name = sheet_name) ws = wb.get_sheet_by_name(name = sheet_name)
// for row, expected_row in zip(ws.iter_rows(query_range), expected) : for row, expected_row in zip(ws.iter_rows(query_range), expected) :
// row_values = [x.internal_value for x in row] row_values = [x.internal_value for x in row]
// TS_ASSERT_EQUALS(row_values, expected_row) TS_ASSERT_EQUALS(row_values, expected_row)
} }
void test_read_single_cell_date() void test_read_single_cell_date()
{ {
//sheet_name = "Sheet4 - Dates" sheet_name = "Sheet4 - Dates"
// wb = load_workbook(filename = workbook_name, use_iterators = True) wb = load_workbook(filename = workbook_name, use_iterators = True)
// ws = wb.get_sheet_by_name(name = sheet_name) ws = wb.get_sheet_by_name(name = sheet_name)
// TS_ASSERT_EQUALS(datetime.datetime(1973, 5, 20), list(ws.iter_rows("A1"))[0][0].internal_value) TS_ASSERT_EQUALS(datetime.datetime(1973, 5, 20), list(ws.iter_rows("A1"))[0][0].internal_value)
// TS_ASSERT_EQUALS(datetime.datetime(1973, 5, 20, 9, 15, 2), list(ws.iter_rows("C1"))[0][0].internal_value) TS_ASSERT_EQUALS(datetime.datetime(1973, 5, 20, 9, 15, 2), list(ws.iter_rows("C1"))[0][0].internal_value)
} }
}; };

View File

@ -15,20 +15,20 @@ public:
void test_write_content_types() void test_write_content_types()
{ {
//wb = Workbook(); wb = Workbook();
//wb.create_sheet(); wb.create_sheet();
//wb.create_sheet(); wb.create_sheet();
//content = write_content_types(wb); content = write_content_types(wb);
//reference_file = os.path.join(DATADIR, "writer", "expected", reference_file = os.path.join(DATADIR, "writer", "expected",
// "[Content_Types].xml"); "[Content_Types].xml");
//assert_equals_file_content(reference_file, content); assert_equals_file_content(reference_file, content);
} }
void test_write_root_rels() void test_write_root_rels()
{ {
//wb = Workbook(); wb = Workbook();
//content = write_root_rels(wb); content = write_root_rels(wb);
//reference_file = os.path.join(DATADIR, "writer", "expected", ".rels"); reference_file = os.path.join(DATADIR, "writer", "expected", ".rels");
//assert_equals_file_content(reference_file, content); assert_equals_file_content(reference_file, content);
} }
}; };

View File

@ -13,153 +13,153 @@ public:
} }
//void setup_class(cls) void setup_class(cls)
//{ {
// //cls.workbook = Workbook() cls.workbook = Workbook()
// // cls.worksheet = Worksheet(cls.workbook, "Test") cls.worksheet = Worksheet(cls.workbook, "Test")
// // cls.sd = SharedDate() cls.sd = SharedDate()
//} }
void test_convert_date_to_julian() void test_convert_date_to_julian()
{ {
//TS_ASSERT_EQUALS(40167, sd.to_julian(2009, 12, 20)) TS_ASSERT_EQUALS(40167, sd.to_julian(2009, 12, 20))
} }
void test_convert_date_from_julian() void test_convert_date_from_julian()
{ {
} }
//void test_date_equal(julian, datetime) void test_date_equal(julian, datetime)
//{ {
// //TS_ASSERT_EQUALS(sd.from_julian(julian), datetime); TS_ASSERT_EQUALS(sd.from_julian(julian), datetime);
// //date_pairs = ( date_pairs = (
// // (40167, datetime(2009, 12, 20)), (40167, datetime(2009, 12, 20)),
// // (21980, datetime(1960, 3, 5)), (21980, datetime(1960, 3, 5)),
// // ); );
// //for count, dt in date_pairs for count, dt in date_pairs
// //{ {
// // yield test_date_equal, count, dt; yield test_date_equal, count, dt;
// //} }
//} }
void test_convert_datetime_to_julian() void test_convert_datetime_to_julian()
{ {
//TS_ASSERT_EQUALS(40167, sd.datetime_to_julian(datetime(2009, 12, 20))) TS_ASSERT_EQUALS(40167, sd.datetime_to_julian(datetime(2009, 12, 20)))
// TS_ASSERT_EQUALS(40196.5939815, sd.datetime_to_julian(datetime(2010, 1, 18, 14, 15, 20, 1600))) TS_ASSERT_EQUALS(40196.5939815, sd.datetime_to_julian(datetime(2010, 1, 18, 14, 15, 20, 1600)))
} }
void test_insert_float() void test_insert_float()
{ {
//worksheet.cell("A1").value = 3.14 worksheet.cell("A1").value = 3.14
// TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type) TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type)
} }
void test_insert_percentage() void test_insert_percentage()
{ {
//worksheet.cell("A1").value = "3.14%" worksheet.cell("A1").value = "3.14%"
// TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type) TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type)
// assert_almost_equal(0.0314, worksheet.cell("A1").value) assert_almost_equal(0.0314, worksheet.cell("A1").value)
} }
void test_insert_datetime() void test_insert_datetime()
{ {
//worksheet.cell("A1").value = date.today() worksheet.cell("A1").value = date.today()
// TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type) TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type)
} }
void test_insert_date() void test_insert_date()
{ {
//worksheet.cell("A1").value = datetime.now() worksheet.cell("A1").value = datetime.now()
// TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type) TS_ASSERT_EQUALS(Cell.TYPE_NUMERIC, worksheet.cell("A1")._data_type)
} }
void test_internal_date() void test_internal_date()
{ {
//dt = datetime(2010, 7, 13, 6, 37, 41) dt = datetime(2010, 7, 13, 6, 37, 41)
// worksheet.cell("A3").value = dt worksheet.cell("A3").value = dt
// TS_ASSERT_EQUALS(40372.27616898148, worksheet.cell("A3")._value) TS_ASSERT_EQUALS(40372.27616898148, worksheet.cell("A3")._value)
} }
void test_datetime_interpretation() void test_datetime_interpretation()
{ {
//dt = datetime(2010, 7, 13, 6, 37, 41) dt = datetime(2010, 7, 13, 6, 37, 41)
// worksheet.cell("A3").value = dt worksheet.cell("A3").value = dt
// TS_ASSERT_EQUALS(dt, worksheet.cell("A3").value) TS_ASSERT_EQUALS(dt, worksheet.cell("A3").value)
} }
void test_date_interpretation() void test_date_interpretation()
{ {
//dt = date(2010, 7, 13) dt = date(2010, 7, 13)
// worksheet.cell("A3").value = dt worksheet.cell("A3").value = dt
// TS_ASSERT_EQUALS(datetime(2010, 7, 13, 0, 0), worksheet.cell("A3").value) TS_ASSERT_EQUALS(datetime(2010, 7, 13, 0, 0), worksheet.cell("A3").value)
} }
void test_number_format_style() void test_number_format_style()
{ {
//worksheet.cell("A1").value = "12.6%" worksheet.cell("A1").value = "12.6%"
// TS_ASSERT_EQUALS(NumberFormat.FORMAT_PERCENTAGE, \ TS_ASSERT_EQUALS(NumberFormat.FORMAT_PERCENTAGE, \
// worksheet.cell("A1").style.number_format.format_code) worksheet.cell("A1").style.number_format.format_code)
} }
void test_date_format_on_non_date() void test_date_format_on_non_date()
{ {
//cell = worksheet.cell("A1"); cell = worksheet.cell("A1");
} }
//void check_date_pair(count, date_string) void check_date_pair(count, date_string)
//{ {
// //cell.value = strptime(date_string, "%Y-%m-%d"); cell.value = strptime(date_string, "%Y-%m-%d");
// //TS_ASSERT_EQUALS(count, cell._value); TS_ASSERT_EQUALS(count, cell._value);
// //date_pairs = ( date_pairs = (
// // (15, "1900-01-15"), (15, "1900-01-15"),
// // (59, "1900-02-28"), (59, "1900-02-28"),
// // (61, "1900-03-01"), (61, "1900-03-01"),
// // (367, "1901-01-01"), (367, "1901-01-01"),
// // (2958465, "9999-12-31"), ); (2958465, "9999-12-31"), );
// //for count, date_string in date_pairs for count, date_string in date_pairs
// //{ {
// // yield check_date_pair, count, date_string; yield check_date_pair, count, date_string;
// //} }
//} }
void test_1900_leap_year() void test_1900_leap_year()
{ {
//assert_raises(ValueError, sd.from_julian, 60) assert_raises(ValueError, sd.from_julian, 60)
// assert_raises(ValueError, sd.to_julian, 1900, 2, 29) assert_raises(ValueError, sd.to_julian, 1900, 2, 29)
} }
void test_bad_date() void test_bad_date()
{ {
//void check_bad_date(year, month, day) void check_bad_date(year, month, day)
//{ {
// assert_raises(ValueError, sd.to_julian, year, month, day) assert_raises(ValueError, sd.to_julian, year, month, day)
//} }
//bad_dates = ((1776, 7, 4), (1899, 12, 31), ) bad_dates = ((1776, 7, 4), (1899, 12, 31), )
// for year, month, day in bad_dates for year, month, day in bad_dates
// { {
// yield check_bad_date, year, month, day yield check_bad_date, year, month, day
// } }
} }
void test_bad_julian_date() void test_bad_julian_date()
{ {
//assert_raises(ValueError, sd.from_julian, -1) assert_raises(ValueError, sd.from_julian, -1)
} }
void test_mac_date() void test_mac_date()
{ {
//sd.excel_base_date = CALENDAR_MAC_1904 sd.excel_base_date = CALENDAR_MAC_1904
// datetuple = (2011, 10, 31) datetuple = (2011, 10, 31)
// dt = date(datetuple[0], datetuple[1], datetuple[2]) dt = date(datetuple[0], datetuple[1], datetuple[2])
// julian = sd.to_julian(datetuple[0], datetuple[1], datetuple[2]) julian = sd.to_julian(datetuple[0], datetuple[1], datetuple[2])
// reverse = sd.from_julian(julian).date() reverse = sd.from_julian(julian).date()
// TS_ASSERT_EQUALS(dt, reverse) TS_ASSERT_EQUALS(dt, reverse)
// sd.excel_base_date = CALENDAR_WINDOWS_1900 sd.excel_base_date = CALENDAR_WINDOWS_1900
} }
}; };

View File

@ -10,13 +10,35 @@ class PackageTestSuite : public CxxTest::TestSuite
public: public:
PackageTestSuite() PackageTestSuite()
{ {
xlnt::file::copy("source/tests/test_data/packaging/test.zip", "source/tests/test_data/packaging/a.zip", true); template_zip = "../../source/tests/test_data/packaging/test.zip";
test_zip = "../../source/tests/test_data/packaging/a.zip";
existing_xlsx = "../../source/tests/test_data/packaging/existing.xlsx";
new_xlsx = "../../source/tests/test_data/packaging/new.xlsx";
xlnt::file::copy(template_zip, test_zip, true);
}
void test_existing_package()
{
//xlnt::package package;
//package.open(existing_xlsx, xlnt::file_mode::Open, xlnt::file_access::Read);
}
void test_new_package()
{
xlnt::package package;
package.open(new_xlsx, xlnt::file_mode::Create, xlnt::file_access::ReadWrite);
//auto part_1 = package.create_part("workbook.xml", "type");
//TS_ASSERT_DIFFERS(part_1, nullptr);
//part_1.write("test");
} }
void test_read_text() void test_read_text()
{ {
auto package = xlnt::package::open("source/tests/test_data/packaging/a.zip", xlnt::file_mode::Open, xlnt::file_access::ReadWrite); xlnt::package package;
TS_ASSERT_DIFFERS(package, nullptr); package.open(test_zip, xlnt::file_mode::Open, xlnt::file_access::ReadWrite);
auto part_1 = package.get_part("a.txt"); auto part_1 = package.get_part("a.txt");
TS_ASSERT_DIFFERS(part_1, nullptr); TS_ASSERT_DIFFERS(part_1, nullptr);
@ -28,8 +50,8 @@ public:
void test_write_text() void test_write_text()
{ {
{ {
auto package = xlnt::package::open("source/tests/test_data/packaging/a.zip", xlnt::file_mode::Open, xlnt::file_access::ReadWrite); xlnt::package package;
TS_ASSERT_DIFFERS(package, nullptr); package.open(test_zip, xlnt::file_mode::Open, xlnt::file_access::ReadWrite);
auto part_1 = package.get_part("a.txt"); auto part_1 = package.get_part("a.txt");
TS_ASSERT_DIFFERS(part_1, nullptr); TS_ASSERT_DIFFERS(part_1, nullptr);
@ -38,8 +60,8 @@ public:
} }
{ {
auto package = xlnt::package::open("source/tests/test_data/packaging/a.zip", xlnt::file_mode::Open, xlnt::file_access::ReadWrite); xlnt::package package;
TS_ASSERT_DIFFERS(package, nullptr); package.open(test_zip, xlnt::file_mode::Open, xlnt::file_access::ReadWrite);
auto part_1 = package.get_part("a.txt"); auto part_1 = package.get_part("a.txt");
TS_ASSERT_DIFFERS(part_1, nullptr); TS_ASSERT_DIFFERS(part_1, nullptr);
@ -52,8 +74,8 @@ public:
void test_read_xml() void test_read_xml()
{ {
auto package = xlnt::package::open("source/tests/test_data/packaging/a.zip", xlnt::file_mode::Open, xlnt::file_access::ReadWrite); xlnt::package package;
TS_ASSERT_DIFFERS(package, nullptr); package.open(test_zip, xlnt::file_mode::Open, xlnt::file_access::ReadWrite);
auto part_2 = package.get_part("a.xml"); auto part_2 = package.get_part("a.xml");
TS_ASSERT_DIFFERS(part_2, nullptr); TS_ASSERT_DIFFERS(part_2, nullptr);
@ -77,4 +99,10 @@ public:
TS_ASSERT_EQUALS(std::string(element_element.text().as_string()), "Text") TS_ASSERT_EQUALS(std::string(element_element.text().as_string()), "Text")
} }
private:
std::string template_zip;
std::string test_zip;
std::string existing_xlsx;
std::string new_xlsx;
}; };

View File

@ -15,13 +15,13 @@ public:
void test_hasher() void test_hasher()
{ {
//TS_ASSERT_EQUALS("CBEB", hash_password("test")); TS_ASSERT_EQUALS("CBEB", hash_password("test"));
} }
void test_sheet_protection() void test_sheet_protection()
{ {
//protection = SheetProtection(); protection = SheetProtection();
//protection.password = "test"; protection.password = "test";
//TS_ASSERT_EQUALS("CBEB", protection.password); TS_ASSERT_EQUALS("CBEB", protection.password);
} }
}; };

View File

@ -18,99 +18,99 @@ public:
} }
//class TestReaderProps class TestReaderProps
//{ {
// void setup_class(cls) void setup_class(cls)
// { {
// cls.genuine_filename = os.path.join(DATADIR, "genuine", "empty.xlsx"); cls.genuine_filename = os.path.join(DATADIR, "genuine", "empty.xlsx");
// cls.archive = ZipFile(cls.genuine_filename, "r", ZIP_DEFLATED); cls.archive = ZipFile(cls.genuine_filename, "r", ZIP_DEFLATED);
// } }
// void teardown_class(cls) void teardown_class(cls)
// { {
// cls.archive.close(); cls.archive.close();
// } }
//}; };
void test_read_properties_core() void test_read_properties_core()
{ {
//content = archive.read(ARC_CORE) content = archive.read(ARC_CORE)
// prop = read_properties_core(content) prop = read_properties_core(content)
// TS_ASSERT_EQUALS(prop.creator, "*.*") TS_ASSERT_EQUALS(prop.creator, "*.*")
// eacute = chr(233) eacute = chr(233)
// TS_ASSERT_EQUALS(prop.last_modified_by, "Aur" + eacute + "lien Camp" + eacute + "as") TS_ASSERT_EQUALS(prop.last_modified_by, "Aur" + eacute + "lien Camp" + eacute + "as")
// TS_ASSERT_EQUALS(prop.created, datetime(2010, 4, 9, 20, 43, 12)) TS_ASSERT_EQUALS(prop.created, datetime(2010, 4, 9, 20, 43, 12))
// TS_ASSERT_EQUALS(prop.modified, datetime(2011, 2, 9, 13, 49, 32)) TS_ASSERT_EQUALS(prop.modified, datetime(2011, 2, 9, 13, 49, 32))
} }
void test_read_sheets_titles() void test_read_sheets_titles()
{ {
//content = archive.read(ARC_WORKBOOK); content = archive.read(ARC_WORKBOOK);
//sheet_titles = read_sheets_titles(content); sheet_titles = read_sheets_titles(content);
//TS_ASSERT_EQUALS(sheet_titles, \ TS_ASSERT_EQUALS(sheet_titles, \
// ["Sheet1 - Text", "Sheet2 - Numbers", "Sheet3 - Formulas", "Sheet4 - Dates"]); ["Sheet1 - Text", "Sheet2 - Numbers", "Sheet3 - Formulas", "Sheet4 - Dates"]);
} }
// Just tests that the correct date / time format is returned from LibreOffice saved version Just tests that the correct date / time format is returned from LibreOffice saved version
//void setup_class(cls) void setup_class(cls)
//{ {
// cls.genuine_filename = os.path.join(DATADIR, "genuine", "empty_libre.xlsx") cls.genuine_filename = os.path.join(DATADIR, "genuine", "empty_libre.xlsx")
// cls.archive = ZipFile(cls.genuine_filename, "r", ZIP_DEFLATED) cls.archive = ZipFile(cls.genuine_filename, "r", ZIP_DEFLATED)
//} }
//void teardown_class(cls) void teardown_class(cls)
//{ {
// cls.archive.close() cls.archive.close()
//} }
void test_read_properties_core2() void test_read_properties_core2()
{ {
//content = archive.read(ARC_CORE) content = archive.read(ARC_CORE)
// prop = read_properties_core(content) prop = read_properties_core(content)
// TS_ASSERT_EQUALS(prop.excel_base_date, CALENDAR_WINDOWS_1900) TS_ASSERT_EQUALS(prop.excel_base_date, CALENDAR_WINDOWS_1900)
} }
void test_read_sheets_titles2() void test_read_sheets_titles2()
{ {
//content = archive.read(ARC_WORKBOOK) content = archive.read(ARC_WORKBOOK)
// sheet_titles = read_sheets_titles(content) sheet_titles = read_sheets_titles(content)
// TS_ASSERT_EQUALS(sheet_titles, \ TS_ASSERT_EQUALS(sheet_titles, \
// ["Sheet1 - Text", "Sheet2 - Numbers", "Sheet3 - Formulas", "Sheet4 - Dates"]) ["Sheet1 - Text", "Sheet2 - Numbers", "Sheet3 - Formulas", "Sheet4 - Dates"])
} }
//void setup_class(cls) void setup_class(cls)
//{ {
// make_tmpdir() make_tmpdir()
// cls.tmp_filename = os.path.join(TMPDIR, "test.xlsx") cls.tmp_filename = os.path.join(TMPDIR, "test.xlsx")
// cls.prop = DocumentProperties() cls.prop = DocumentProperties()
//} }
//void teardown_class(cls) void teardown_class(cls)
//{ {
// clean_tmpdir() clean_tmpdir()
//} }
void test_write_properties_core() void test_write_properties_core()
{ {
//prop.creator = "TEST_USER" prop.creator = "TEST_USER"
// prop.last_modified_by = "SOMEBODY" prop.last_modified_by = "SOMEBODY"
// prop.created = datetime(2010, 4, 1, 20, 30, 00) prop.created = datetime(2010, 4, 1, 20, 30, 00)
// prop.modified = datetime(2010, 4, 5, 14, 5, 30) prop.modified = datetime(2010, 4, 5, 14, 5, 30)
// content = write_properties_core(prop) content = write_properties_core(prop)
// assert_equals_file_content( assert_equals_file_content(
// os.path.join(DATADIR, "writer", "expected", "core.xml"), os.path.join(DATADIR, "writer", "expected", "core.xml"),
// content) content)
} }
void test_write_properties_app() void test_write_properties_app()
{ {
//wb = Workbook() wb = Workbook()
// wb.create_sheet() wb.create_sheet()
// wb.create_sheet() wb.create_sheet()
// content = write_properties_app(wb) content = write_properties_app(wb)
// assert_equals_file_content( assert_equals_file_content(
// os.path.join(DATADIR, "writer", "expected", "app.xml"), os.path.join(DATADIR, "writer", "expected", "app.xml"),
// content) content)
} }
}; };

View File

@ -15,182 +15,182 @@ public:
void test_read_standalone_worksheet() void test_read_standalone_worksheet()
{ {
//path = os.path.join(DATADIR, "reader", "sheet2.xml") path = os.path.join(DATADIR, "reader", "sheet2.xml")
// ws = None ws = None
// handle = open(path) handle = open(path)
// try : try :
// ws = read_worksheet(handle.read(), DummyWb(), ws = read_worksheet(handle.read(), DummyWb(),
// "Sheet 2", {1: "hello"}, {1: Style()}) "Sheet 2", {1: "hello"}, {1: Style()})
// finally : finally :
// handle.close() handle.close()
// assert isinstance(ws, Worksheet) assert isinstance(ws, Worksheet)
// TS_ASSERT_EQUALS(ws.cell("G5").value, "hello") TS_ASSERT_EQUALS(ws.cell("G5").value, "hello")
// TS_ASSERT_EQUALS(ws.cell("D30").value, 30) TS_ASSERT_EQUALS(ws.cell("D30").value, 30)
// TS_ASSERT_EQUALS(ws.cell("K9").value, 0.09) TS_ASSERT_EQUALS(ws.cell("K9").value, 0.09)
} }
void test_read_standard_workbook() void test_read_standard_workbook()
{ {
//path = os.path.join(DATADIR, "genuine", "empty.xlsx") path = os.path.join(DATADIR, "genuine", "empty.xlsx")
// wb = load_workbook(path) wb = load_workbook(path)
// assert isinstance(wb, Workbook) assert isinstance(wb, Workbook)
} }
void test_read_standard_workbook_from_fileobj() void test_read_standard_workbook_from_fileobj()
{ {
//path = os.path.join(DATADIR, "genuine", "empty.xlsx") path = os.path.join(DATADIR, "genuine", "empty.xlsx")
// fo = open(path, mode = "rb") fo = open(path, mode = "rb")
// wb = load_workbook(fo) wb = load_workbook(fo)
// assert isinstance(wb, Workbook) assert isinstance(wb, Workbook)
} }
void test_read_worksheet() void test_read_worksheet()
{ {
//path = os.path.join(DATADIR, "genuine", "empty.xlsx") path = os.path.join(DATADIR, "genuine", "empty.xlsx")
// wb = load_workbook(path) wb = load_workbook(path)
// sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers") sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers")
// assert isinstance(sheet2, Worksheet) assert isinstance(sheet2, Worksheet)
// TS_ASSERT_EQUALS("This is cell G5", sheet2.cell("G5").value) TS_ASSERT_EQUALS("This is cell G5", sheet2.cell("G5").value)
// TS_ASSERT_EQUALS(18, sheet2.cell("D18").value) TS_ASSERT_EQUALS(18, sheet2.cell("D18").value)
} }
void test_read_nostring_workbook() void test_read_nostring_workbook()
{ {
//genuine_wb = os.path.join(DATADIR, "genuine", "empty-no-string.xlsx") genuine_wb = os.path.join(DATADIR, "genuine", "empty-no-string.xlsx")
// wb = load_workbook(genuine_wb) wb = load_workbook(genuine_wb)
// assert isinstance(wb, Workbook) assert isinstance(wb, Workbook)
} }
// @raises(InvalidFileException)
void test_read_empty_file() void test_read_empty_file()
{ {
//null_file = os.path.join(DATADIR, "reader", "null_file.xlsx") std::string null_file = os.path.join(DATADIR, "reader", "null_file.xlsx");
// wb = load_workbook(null_file) xlnt::workbook wb;
TS_ASSERT_THROWS(InvalidFile, wb.load(null_file));
} }
//@raises(InvalidFileException) @raises(InvalidFileException)
void test_read_empty_archive() void test_read_empty_archive()
{ {
//null_file = os.path.join(DATADIR, "reader", "null_archive.xlsx") null_file = os.path.join(DATADIR, "reader", "null_archive.xlsx")
// wb = load_workbook(null_file) wb = load_workbook(null_file)
} }
void test_read_dimension() void test_read_dimension()
{ {
//path = os.path.join(DATADIR, "reader", "sheet2.xml") path = os.path.join(DATADIR, "reader", "sheet2.xml")
// dimension = None dimension = None
// handle = open(path) handle = open(path)
// try : try :
// dimension = read_dimension(xml_source = handle.read()) dimension = read_dimension(xml_source = handle.read())
// finally : finally :
// handle.close() handle.close()
// TS_ASSERT_EQUALS(("D", 1, "K", 30), dimension) TS_ASSERT_EQUALS(("D", 1, "K", 30), dimension)
} }
void test_calculate_dimension_iter() void test_calculate_dimension_iter()
{ {
//path = os.path.join(DATADIR, "genuine", "empty.xlsx") path = os.path.join(DATADIR, "genuine", "empty.xlsx")
// wb = load_workbook(filename = path, use_iterators = True) wb = load_workbook(filename = path, use_iterators = True)
// sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers") sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers")
// dimensions = sheet2.calculate_dimension() dimensions = sheet2.calculate_dimension()
// TS_ASSERT_EQUALS("%s%s:%s%s" % ("D", 1, "K", 30), dimensions) TS_ASSERT_EQUALS("%s%s:%s%s" % ("D", 1, "K", 30), dimensions)
} }
void test_get_highest_row_iter() void test_get_highest_row_iter()
{ {
//path = os.path.join(DATADIR, "genuine", "empty.xlsx") path = os.path.join(DATADIR, "genuine", "empty.xlsx")
// wb = load_workbook(filename = path, use_iterators = True) wb = load_workbook(filename = path, use_iterators = True)
// sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers") sheet2 = wb.get_sheet_by_name("Sheet2 - Numbers")
// max_row = sheet2.get_highest_row() max_row = sheet2.get_highest_row()
// TS_ASSERT_EQUALS(30, max_row) TS_ASSERT_EQUALS(30, max_row)
} }
void test_read_workbook_with_no_properties() void test_read_workbook_with_no_properties()
{ {
//genuine_wb = os.path.join(DATADIR, "genuine", \ genuine_wb = os.path.join(DATADIR, "genuine", \
// "empty_with_no_properties.xlsx") "empty_with_no_properties.xlsx")
// wb = load_workbook(filename = genuine_wb) wb = load_workbook(filename = genuine_wb)
} }
//void setup_class_with_styles(cls) void setup_class_with_styles(cls)
//{ {
// //cls.genuine_wb = os.path.join(DATADIR, "genuine", \ cls.genuine_wb = os.path.join(DATADIR, "genuine", \
// // "empty-with-styles.xlsx") "empty-with-styles.xlsx")
// // wb = load_workbook(cls.genuine_wb) wb = load_workbook(cls.genuine_wb)
// // cls.ws = wb.get_sheet_by_name("Sheet1") cls.ws = wb.get_sheet_by_name("Sheet1")
//} }
void test_read_general_style() void test_read_general_style()
{ {
//TS_ASSERT_EQUALS(ws.cell("A1").style.number_format.format_code, TS_ASSERT_EQUALS(ws.cell("A1").style.number_format.format_code,
// NumberFormat.FORMAT_GENERAL) NumberFormat.FORMAT_GENERAL)
} }
void test_read_date_style() void test_read_date_style()
{ {
//TS_ASSERT_EQUALS(ws.cell("A2").style.number_format.format_code, TS_ASSERT_EQUALS(ws.cell("A2").style.number_format.format_code,
// NumberFormat.FORMAT_DATE_XLSX14) NumberFormat.FORMAT_DATE_XLSX14)
} }
void test_read_number_style() void test_read_number_style()
{ {
//TS_ASSERT_EQUALS(ws.cell("A3").style.number_format.format_code, TS_ASSERT_EQUALS(ws.cell("A3").style.number_format.format_code,
// NumberFormat.FORMAT_NUMBER_00) NumberFormat.FORMAT_NUMBER_00)
} }
void test_read_time_style() void test_read_time_style()
{ {
//TS_ASSERT_EQUALS(ws.cell("A4").style.number_format.format_code, TS_ASSERT_EQUALS(ws.cell("A4").style.number_format.format_code,
// NumberFormat.FORMAT_DATE_TIME3) NumberFormat.FORMAT_DATE_TIME3)
} }
void test_read_percentage_style() void test_read_percentage_style()
{ {
//TS_ASSERT_EQUALS(ws.cell("A5").style.number_format.format_code, TS_ASSERT_EQUALS(ws.cell("A5").style.number_format.format_code,
// NumberFormat.FORMAT_PERCENTAGE_00) NumberFormat.FORMAT_PERCENTAGE_00)
} }
//void setup_class_base_date_format(cls) void setup_class_base_date_format(cls)
//{ {
// //mac_wb_path = os.path.join(DATADIR, "reader", "date_1904.xlsx") mac_wb_path = os.path.join(DATADIR, "reader", "date_1904.xlsx")
// // cls.mac_wb = load_workbook(mac_wb_path) cls.mac_wb = load_workbook(mac_wb_path)
// // cls.mac_ws = cls.mac_wb.get_sheet_by_name("Sheet1") cls.mac_ws = cls.mac_wb.get_sheet_by_name("Sheet1")
// // win_wb_path = os.path.join(DATADIR, "reader", "date_1900.xlsx") win_wb_path = os.path.join(DATADIR, "reader", "date_1900.xlsx")
// // cls.win_wb = load_workbook(win_wb_path) cls.win_wb = load_workbook(win_wb_path)
// // cls.win_ws = cls.win_wb.get_sheet_by_name("Sheet1") cls.win_ws = cls.win_wb.get_sheet_by_name("Sheet1")
//} }
void test_read_win_base_date() void test_read_win_base_date()
{ {
//TS_ASSERT_EQUALS(win_wb.properties.excel_base_date, CALENDAR_WINDOWS_1900) TS_ASSERT_EQUALS(win_wb.properties.excel_base_date, CALENDAR_WINDOWS_1900)
} }
void test_read_mac_base_date() void test_read_mac_base_date()
{ {
//TS_ASSERT_EQUALS(mac_wb.properties.excel_base_date, CALENDAR_MAC_1904) TS_ASSERT_EQUALS(mac_wb.properties.excel_base_date, CALENDAR_MAC_1904)
} }
void test_read_date_style_mac() void test_read_date_style_mac()
{ {
//TS_ASSERT_EQUALS(mac_ws.cell("A1").style.number_format.format_code, TS_ASSERT_EQUALS(mac_ws.cell("A1").style.number_format.format_code,
// NumberFormat.FORMAT_DATE_XLSX14) NumberFormat.FORMAT_DATE_XLSX14)
} }
void test_read_date_style_win() void test_read_date_style_win()
{ {
//TS_ASSERT_EQUALS(win_ws.cell("A1").style.number_format.format_code, TS_ASSERT_EQUALS(win_ws.cell("A1").style.number_format.format_code,
// NumberFormat.FORMAT_DATE_XLSX14) NumberFormat.FORMAT_DATE_XLSX14)
} }
void test_read_date_value() void test_read_date_value()
{ {
//datetuple = (2011, 10, 31) datetuple = (2011, 10, 31)
// dt = datetime(datetuple[0], datetuple[1], datetuple[2]) dt = datetime(datetuple[0], datetuple[1], datetuple[2])
// TS_ASSERT_EQUALS(mac_ws.cell("A1").value, dt) TS_ASSERT_EQUALS(mac_ws.cell("A1").value, dt)
// TS_ASSERT_EQUALS(win_ws.cell("A1").value, dt) TS_ASSERT_EQUALS(win_ws.cell("A1").value, dt)
// TS_ASSERT_EQUALS(mac_ws.cell("A1").value, win_ws.cell("A1").value) TS_ASSERT_EQUALS(mac_ws.cell("A1").value, win_ws.cell("A1").value)
} }
}; };

View File

@ -15,46 +15,46 @@ public:
void test_create_string_table() void test_create_string_table()
{ {
//wb = Workbook() wb = Workbook()
// ws = wb.create_sheet() ws = wb.create_sheet()
// ws.cell("B12").value = "hello" ws.cell("B12").value = "hello"
// ws.cell("B13").value = "world" ws.cell("B13").value = "world"
// ws.cell("D28").value = "hello" ws.cell("D28").value = "hello"
// table = create_string_table(wb) table = create_string_table(wb)
// TS_ASSERT_EQUALS({"hello": 1, "world" : 0}, table) TS_ASSERT_EQUALS({"hello": 1, "world" : 0}, table)
} }
void test_read_string_table() void test_read_string_table()
{ {
//handle = open(os.path.join(DATADIR, "reader", "sharedStrings.xml")) handle = open(os.path.join(DATADIR, "reader", "sharedStrings.xml"))
// try : try :
// content = handle.read() content = handle.read()
// string_table = read_string_table(content) string_table = read_string_table(content)
// TS_ASSERT_EQUALS({0: "This is cell A1 in Sheet 1", 1 : "This is cell G5"}, string_table) TS_ASSERT_EQUALS({0: "This is cell A1 in Sheet 1", 1 : "This is cell G5"}, string_table)
// finally : finally :
// handle.close() handle.close()
} }
void test_empty_string() void test_empty_string()
{ {
//handle = open(os.path.join(DATADIR, "reader", "sharedStrings-emptystring.xml")) handle = open(os.path.join(DATADIR, "reader", "sharedStrings-emptystring.xml"))
// try : try :
// content = handle.read() content = handle.read()
// string_table = read_string_table(content) string_table = read_string_table(content)
// TS_ASSERT_EQUALS({0: "Testing empty cell", 1 : ""}, string_table) TS_ASSERT_EQUALS({0: "Testing empty cell", 1 : ""}, string_table)
// finally : finally :
// handle.close() handle.close()
} }
void test_formatted_string_table() void test_formatted_string_table()
{ {
//handle = open(os.path.join(DATADIR, "reader", "shared-strings-rich.xml")) handle = open(os.path.join(DATADIR, "reader", "shared-strings-rich.xml"))
// try : try :
// content = handle.read() content = handle.read()
// string_table = read_string_table(content) string_table = read_string_table(content)
// TS_ASSERT_EQUALS({0: "Welcome", 1 : "to the best shop in town", TS_ASSERT_EQUALS({0: "Welcome", 1 : "to the best shop in town",
// 2 : " let"s play "}, string_table) 2 : " let"s play "}, string_table)
// finally : finally :
// handle.close() handle.close()
} }
}; };

View File

@ -15,224 +15,224 @@ public:
void test_get_active_sheet() void test_get_active_sheet()
{ {
//wb = Workbook(); xlnt::workbook wb;
//active_sheet = wb.get_active_sheet(); auto active_sheet = wb.get_active_sheet();
//TS_ASSERT_EQUALS(active_sheet, wb.worksheets[0]); TS_ASSERT_EQUALS(active_sheet, wb.worksheets[0]);
} }
void test_create_sheet() void test_create_sheet()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
//TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]); TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);
} }
void test_create_sheet_with_name() void test_create_sheet_with_name()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(0, title = "LikeThisName"); new_sheet = wb.create_sheet(0, title = "LikeThisName");
//TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]); TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);
} }
void test_add_correct_sheet() void test_add_correct_sheet()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
//wb.add_sheet(new_sheet); wb.add_sheet(new_sheet);
//TS_ASSERT_EQUALS(new_sheet, wb.worksheets[2]); TS_ASSERT_EQUALS(new_sheet, wb.worksheets[2]);
} }
void test_add_incorrect_sheet() void test_add_incorrect_sheet()
{ {
//wb = Workbook(); xlnt::workbook wb;
//wb.add_sheet("Test"); wb.add_sheet("Test");
} }
void test_create_sheet_readonly() void test_create_sheet_readonly()
{ {
//wb = Workbook(); xlnt::workbook wb;
//wb._set_optimized_read(); wb._set_optimized_read();
//wb.create_sheet(); wb.create_sheet();
} }
void test_remove_sheet() void test_remove_sheet()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
//wb.remove_sheet(new_sheet); wb.remove_sheet(new_sheet);
//assert new_sheet not in wb.worksheets; assert new_sheet not in wb.worksheets;
} }
void test_get_sheet_by_name() void test_get_sheet_by_name()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
//title = "my sheet"; title = "my sheet";
//new_sheet.title = title; new_sheet.title = title;
//found_sheet = wb.get_sheet_by_name(title); found_sheet = wb.get_sheet_by_name(title);
//TS_ASSERT_EQUALS(new_sheet, found_sheet); TS_ASSERT_EQUALS(new_sheet, found_sheet);
} }
void test_get_index2() void test_get_index2()
{ {
//wb = Workbook(); xlnt::workbook wb;
//new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
//sheet_index = wb.get_index(new_sheet); sheet_index = wb.get_index(new_sheet);
//TS_ASSERT_EQUALS(sheet_index, 0); TS_ASSERT_EQUALS(sheet_index, 0);
} }
void test_get_sheet_names() void test_get_sheet_names()
{ {
//wb = Workbook(); xlnt::workbook wb;
//names = ["Sheet", "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"]; names = ["Sheet", "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"];
//for(auto count : range(5)) for(auto count : range(5))
//{ {
// wb.create_sheet(0) wb.create_sheet(0)
// actual_names = wb.get_sheet_names() actual_names = wb.get_sheet_names()
// TS_ASSERT_EQUALS(sorted(actual_names), sorted(names)) TS_ASSERT_EQUALS(sorted(actual_names), sorted(names))
//} }
} }
void test_get_named_ranges2() void test_get_named_ranges2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
TS_ASSERT_EQUALS(wb.get_named_ranges(), wb._named_ranges);*/ TS_ASSERT_EQUALS(wb.get_named_ranges(), wb._named_ranges);
} }
void test_get_active_sheet2() void test_get_active_sheet2()
{ {
//wb = Workbook(); xlnt::workbook wb;
//active_sheet = wb.get_active_sheet(); active_sheet = wb.get_active_sheet();
//TS_ASSERT_EQUALS(active_sheet, wb.worksheets[0]); TS_ASSERT_EQUALS(active_sheet, wb.worksheets[0]);
} }
void test_create_sheet2() void test_create_sheet2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);*/ TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);
} }
void test_create_sheet_with_name2() void test_create_sheet_with_name2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(0, title = "LikeThisName"); new_sheet = wb.create_sheet(0, title = "LikeThisName");
TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);*/ TS_ASSERT_EQUALS(new_sheet, wb.worksheets[0]);
} }
void test_add_correct_sheet2() void test_add_correct_sheet2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
wb.add_sheet(new_sheet); wb.add_sheet(new_sheet);
TS_ASSERT_EQUALS(new_sheet, wb.worksheets[2]);*/ TS_ASSERT_EQUALS(new_sheet, wb.worksheets[2]);
} }
//@raises(AssertionError) //@raises(AssertionError)
void test_add_incorrect_sheet2() void test_add_incorrect_sheet2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
wb.add_sheet("Test");*/ TS_ASSERT_THROWS(AssertionError, wb.add_sheet("Test"))
} }
//@raises(ReadOnlyWorkbookException)
void test_create_sheet_readonly2() void test_create_sheet_readonly2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
wb._set_optimized_read(); wb._set_optimized_read();
wb.create_sheet();*/ TS_ASSERT_THROWS(wb.create_sheet(), ReadOnlyWorkbook);
} }
void test_remove_sheet2() void test_remove_sheet2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
wb.remove_sheet(new_sheet); wb.remove_sheet(new_sheet);
assert new_sheet not in wb.worksheets;*/ assert new_sheet not in wb.worksheets;
} }
void test_get_sheet_by_name2() void test_get_sheet_by_name2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
title = "my sheet"; title = "my sheet";
new_sheet.title = title; new_sheet.title = title;
found_sheet = wb.get_sheet_by_name(title); found_sheet = wb.get_sheet_by_name(title);
TS_ASSERT_EQUALS(new_sheet, found_sheet);*/ TS_ASSERT_EQUALS(new_sheet, found_sheet);
} }
void test_get_index() void test_get_index()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(0); new_sheet = wb.create_sheet(0);
sheet_index = wb.get_index(new_sheet); sheet_index = wb.get_index(new_sheet);
TS_ASSERT_EQUALS(sheet_index, 0);*/ TS_ASSERT_EQUALS(sheet_index, 0);
} }
void test_get_sheet_names2() void test_get_sheet_names2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
names = ["Sheet", "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"]; names = ["Sheet", "Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5"];
for(auto count in range(5)) for(auto count in range(5))
{ {
wb.create_sheet(0) wb.create_sheet(0)
actual_names = wb.get_sheet_names() actual_names = wb.get_sheet_names()
TS_ASSERT_EQUALS(sorted(actual_names), sorted(names)) TS_ASSERT_EQUALS(sorted(actual_names), sorted(names))
}*/ }
} }
void test_get_named_ranges() void test_get_named_ranges()
{ {
/* wb = Workbook(); xlnt::workbook wb;
TS_ASSERT_EQUALS(wb.get_named_ranges(), wb._named_ranges);*/ TS_ASSERT_EQUALS(wb.get_named_ranges(), wb._named_ranges);
} }
void test_add_named_range() void test_add_named_range()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
named_ranges_list = wb.get_named_ranges(); named_ranges_list = wb.get_named_ranges();
assert named_range in named_ranges_list;*/ assert named_range in named_ranges_list;
} }
void test_get_named_range2() void test_get_named_range2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
found_named_range = wb.get_named_range("test_nr"); found_named_range = wb.get_named_range("test_nr");
TS_ASSERT_EQUALS(named_range, found_named_range);*/ TS_ASSERT_EQUALS(named_range, found_named_range);
} }
void test_remove_named_range2() void test_remove_named_range2()
{ {
/*wb = Workbook(); xlnt::workbook wb;
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
wb.remove_named_range(named_range); wb.remove_named_range(named_range);
named_ranges_list = wb.get_named_ranges(); named_ranges_list = wb.get_named_ranges();
assert named_range not in named_ranges_list;*/ assert named_range not in named_ranges_list;
} }
//@with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_add_local_named_range2() void test_add_local_named_range2()
{ {
/*wb = Workbook(); make_tmpdir();
xlnt::workbook wb;
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
named_range.scope = new_sheet; named_range.scope = new_sheet;
wb.add_named_range(named_range); wb.add_named_range(named_range);
dest_filename = osp.join(TMPDIR, "local_named_range_book.xlsx"); dest_filename = osp.join(TMPDIR, "local_named_range_book.xlsx");
wb.save(dest_filename);*/ wb.save(dest_filename);
clean_tmpdir();
} }
//@with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_write_regular_date() void test_write_regular_date()
{ {
/*today = datetime.datetime(2010, 1, 18, 14, 15, 20, 1600); make_tmpdir();
today = datetime.datetime(2010, 1, 18, 14, 15, 20, 1600);
book = Workbook(); book = Workbook();
sheet = book.get_active_sheet(); sheet = book.get_active_sheet();
@ -243,13 +243,14 @@ public:
test_book = load_workbook(dest_filename); test_book = load_workbook(dest_filename);
test_sheet = test_book.get_active_sheet(); test_sheet = test_book.get_active_sheet();
TS_ASSERT_EQUALS(test_sheet.cell("A1").value, today);*/ TS_ASSERT_EQUALS(test_sheet.cell("A1"), today);
clean_tmpdir();
} }
// @with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_write_regular_float() void test_write_regular_float()
{ {
/*float_value = 1.0 / 3.0; make_tmpdir();
float float_value = 1.0 / 3.0;
book = Workbook(); book = Workbook();
sheet = book.get_active_sheet(); sheet = book.get_active_sheet();
sheet.cell("A1").value = float_value; sheet.cell("A1").value = float_value;
@ -260,77 +261,78 @@ public:
test_sheet = test_book.get_active_sheet(); test_sheet = test_book.get_active_sheet();
TS_ASSERT_EQUALS(test_sheet.cell("A1").value, float_value);*/ TS_ASSERT_EQUALS(test_sheet.cell("A1").value, float_value);*/
clean_tmpdir();
} }
//@raises(UnicodeDecodeError)
void test_bad_encoding2() void test_bad_encoding2()
{ {
/*pound = chr(163); char pound = 163;
test_string = ("Compound Value (" + pound + ")").encode("latin1"); std::string test_string = ("Compound Value (" + std::string(1, pound) + ")").encode("latin1");
utf_book = Workbook(); xlnt::workbook utf_book;
utf_sheet = utf_book.get_active_sheet(); xlnt::worksheet utf_sheet = utf_book.get_active_sheet();
utf_sheet.cell("A1").value = test_string;*/
TS_ASSERT_THROWS(UnicodeDecode, utf_sheet.cell("A1") = test_string);
} }
void test_good_encoding2() void test_good_encoding2()
{ {
/*pound = chr(163); char pound = 163;
test_string = ("Compound Value (" + pound + ")").encode("latin1"); std::string test_string = ("Compound Value (" + std::string(1, pound) + ")").encode("latin1");
lat_book = Workbook(encoding = "latin1"); lat_book = Workbook(encoding = "latin1");
lat_sheet = lat_book.get_active_sheet(); lat_sheet = lat_book.get_active_sheet();
lat_sheet.cell("A1").value = test_string;*/ lat_sheet.cell("A1").value = test_string;
} }
void test_add_named_range2() void test_add_named_range2()
{ {
/*wb = Workbook(); wb = Workbook();
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
named_ranges_list = wb.get_named_ranges(); named_ranges_list = wb.get_named_ranges();
assert named_range in named_ranges_list;*/ assert named_range in named_ranges_list;
} }
void test_get_named_range() void test_get_named_range()
{ {
/*wb = Workbook(); wb = Workbook();
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
found_named_range = wb.get_named_range("test_nr"); found_named_range = wb.get_named_range("test_nr");
TS_ASSERT_EQUALS(named_range, found_named_range);*/ TS_ASSERT_EQUALS(named_range, found_named_range);
} }
void test_remove_named_range() void test_remove_named_range()
{ {
/*wb = Workbook(); wb = Workbook();
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
wb.add_named_range(named_range); wb.add_named_range(named_range);
wb.remove_named_range(named_range); wb.remove_named_range(named_range);
named_ranges_list = wb.get_named_ranges(); named_ranges_list = wb.get_named_ranges();
assert named_range not in named_ranges_list;*/ assert named_range not in named_ranges_list;
} }
//@with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_add_local_named_range() void test_add_local_named_range()
{ {
/*wb = Workbook(); make_tmpdir();
wb = Workbook();
new_sheet = wb.create_sheet(); new_sheet = wb.create_sheet();
named_range = NamedRange("test_nr", [(new_sheet, "A1")]); named_range = NamedRange("test_nr", [(new_sheet, "A1")]);
named_range.scope = new_sheet; named_range.scope = new_sheet;
wb.add_named_range(named_range); wb.add_named_range(named_range);
dest_filename = osp.join(TMPDIR, "local_named_range_book.xlsx"); dest_filename = osp.join(TMPDIR, "local_named_range_book.xlsx");
wb.save(dest_filename);*/ wb.save(dest_filename);
clean_tmpdir();
} }
// @with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_write_regular_date2() void test_write_regular_date2()
{ {
/*today = datetime.datetime(2010, 1, 18, 14, 15, 20, 1600); make_tmpdir();
today = datetime.datetime(2010, 1, 18, 14, 15, 20, 1600);
book = Workbook(); book = Workbook();
sheet = book.get_active_sheet(); sheet = book.get_active_sheet();
@ -341,23 +343,26 @@ public:
test_book = load_workbook(dest_filename); test_book = load_workbook(dest_filename);
test_sheet = test_book.get_active_sheet(); test_sheet = test_book.get_active_sheet();
TS_ASSERT_EQUALS(test_sheet.cell("A1").value, today);*/ TS_ASSERT_EQUALS(test_sheet.cell("A1").value, today);
clean_tmpdir();
} }
// @with_setup(setup = make_tmpdir, teardown = clean_tmpdir)
void test_write_regular_float2() void test_write_regular_float2()
{ {
/*float_value = 1.0 / 3.0; make_tmpdir();
book = Workbook(); float float_value = 1.0 / 3.0;
sheet = book.get_active_sheet(); xlnt::workbook book;
sheet.cell("A1").value = float_value; xlnt::worksheet sheet = book.get_active_sheet();
dest_filename = osp.join(TMPDIR, "float_read_write_issue.xlsx"); sheet.cell("A1") = float_value;
std::string dest_filename = osp.join(TMPDIR, "float_read_write_issue.xlsx");
book.save(dest_filename); book.save(dest_filename);
test_book = load_workbook(dest_filename); xlnt::workbook test_book;
test_sheet = test_book.get_active_sheet(); test_book.load(dest_filename);
xlnt::worksheet test_sheet = test_book.get_active_sheet();
TS_ASSERT_EQUALS(test_sheet.cell("A1").value, float_value);*/ TS_ASSERT_EQUALS(test_sheet.cell("A1"), float_value);
clean_tmpdir();
} }
// @raises(UnicodeDecodeError) // @raises(UnicodeDecodeError)
@ -373,11 +378,11 @@ public:
void test_good_encoding() void test_good_encoding()
{ {
/*pound = chr(163); char pound = 163;
test_string = ("Compound Value (" + pound + ")").encode("latin1"); std::string test_string = ("Compound Value (" + std::string(1, pound) + ")").encode("latin1");
lat_book = Workbook(encoding = "latin1"); xlnt::workbook lat_book("latin1");
lat_sheet = lat_book.get_active_sheet(); xlnt::worksheet lat_sheet = lat_book.get_active_sheet();
lat_sheet.cell("A1").value = test_string;*/ lat_sheet.cell("A1") = test_string;
} }
}; };

View File

@ -10,326 +10,323 @@ class WorksheetTestSuite : public CxxTest::TestSuite
public: public:
WorksheetTestSuite() WorksheetTestSuite()
{ {
}/*
cls.wb = Workbook()
} }
*/
void test_new_worksheet() void test_new_worksheet()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//TS_ASSERT_EQUALS(wb, ws._parent); TS_ASSERT_EQUALS(wb, ws._parent);
} }
void test_new_sheet_name() void test_new_sheet_name()
{ {
//wb.worksheets = []; wb.worksheets = [];
//ws = Worksheet(wb, title = ""); ws = Worksheet(wb, title = "");
//TS_ASSERT_EQUALS(repr(ws), "<Worksheet "Sheet1">"); TS_ASSERT_EQUALS(repr(ws), "<Worksheet "Sheet1">");
} }
void test_get_cell() void test_get_cell()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//cell = ws.cell("A1"); cell = ws.cell("A1");
//TS_ASSERT_EQUALS(cell.get_coordinate(), "A1"); TS_ASSERT_EQUALS(cell.get_coordinate(), "A1");
} }
void test_set_bad_title() void test_set_bad_title()
{ {
//Worksheet(wb, "X" * 50); Worksheet(wb, "X" * 50);
} }
void test_set_bad_title_character() void test_set_bad_title_character()
{ {
//assert_raises(SheetTitleException, Worksheet, wb, "["); assert_raises(SheetTitleException, Worksheet, wb, "[");
//assert_raises(SheetTitleException, Worksheet, wb, "]"); assert_raises(SheetTitleException, Worksheet, wb, "]");
//assert_raises(SheetTitleException, Worksheet, wb, "*"); assert_raises(SheetTitleException, Worksheet, wb, "*");
//assert_raises(SheetTitleException, Worksheet, wb, ":"); assert_raises(SheetTitleException, Worksheet, wb, ":");
//assert_raises(SheetTitleException, Worksheet, wb, "?"); assert_raises(SheetTitleException, Worksheet, wb, "?");
//assert_raises(SheetTitleException, Worksheet, wb, "/"); assert_raises(SheetTitleException, Worksheet, wb, "/");
//assert_raises(SheetTitleException, Worksheet, wb, "\\"); assert_raises(SheetTitleException, Worksheet, wb, "\\");
} }
void test_worksheet_dimension() void test_worksheet_dimension()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//TS_ASSERT_EQUALS("A1:A1", ws.calculate_dimension()); TS_ASSERT_EQUALS("A1:A1", ws.calculate_dimension());
//ws.cell("B12").value = "AAA"; ws.cell("B12").value = "AAA";
//TS_ASSERT_EQUALS("A1:B12", ws.calculate_dimension()); TS_ASSERT_EQUALS("A1:B12", ws.calculate_dimension());
} }
void test_worksheet_range() void test_worksheet_range()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//xlrange = ws.range("A1:C4"); xlrange = ws.range("A1:C4");
//assert isinstance(xlrange, tuple); assert isinstance(xlrange, tuple);
//TS_ASSERT_EQUALS(4, len(xlrange)); TS_ASSERT_EQUALS(4, len(xlrange));
//TS_ASSERT_EQUALS(3, len(xlrange[0])); TS_ASSERT_EQUALS(3, len(xlrange[0]));
} }
void test_worksheet_named_range() void test_worksheet_named_range()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//wb.create_named_range("test_range", ws, "C5"); wb.create_named_range("test_range", ws, "C5");
//xlrange = ws.range("test_range"); xlrange = ws.range("test_range");
//assert isinstance(xlrange, Cell); assert isinstance(xlrange, Cell);
//TS_ASSERT_EQUALS(5, xlrange.row); TS_ASSERT_EQUALS(5, xlrange.row);
} }
void test_bad_named_range() void test_bad_named_range()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.range("bad_range"); ws.range("bad_range");
} }
void test_named_range_wrong_sheet() void test_named_range_wrong_sheet()
{ {
//ws1 = Worksheet(wb); ws1 = Worksheet(wb);
//ws2 = Worksheet(wb); ws2 = Worksheet(wb);
//wb.create_named_range("wrong_sheet_range", ws1, "C5"); wb.create_named_range("wrong_sheet_range", ws1, "C5");
//ws2.range("wrong_sheet_range"); ws2.range("wrong_sheet_range");
} }
void test_cell_offset() void test_cell_offset()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//TS_ASSERT_EQUALS("C17", ws.cell("B15").offset(2, 1).get_coordinate()); TS_ASSERT_EQUALS("C17", ws.cell("B15").offset(2, 1).get_coordinate());
} }
void test_range_offset() void test_range_offset()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//xlrange = ws.range("A1:C4", 1, 3); xlrange = ws.range("A1:C4", 1, 3);
//assert isinstance(xlrange, tuple); assert isinstance(xlrange, tuple);
//TS_ASSERT_EQUALS(4, len(xlrange)); TS_ASSERT_EQUALS(4, len(xlrange));
//TS_ASSERT_EQUALS(3, len(xlrange[0])); TS_ASSERT_EQUALS(3, len(xlrange[0]));
//TS_ASSERT_EQUALS("D2", xlrange[0][0].get_coordinate()); TS_ASSERT_EQUALS("D2", xlrange[0][0].get_coordinate());
} }
void test_cell_alternate_coordinates() void test_cell_alternate_coordinates()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//cell = ws.cell(row = 8, column = 4); cell = ws.cell(row = 8, column = 4);
//TS_ASSERT_EQUALS("E9", cell.get_coordinate()); TS_ASSERT_EQUALS("E9", cell.get_coordinate());
} }
void test_cell_insufficient_coordinates() void test_cell_insufficient_coordinates()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//cell = ws.cell(row = 8); cell = ws.cell(row = 8);
} }
void test_cell_range_name() void test_cell_range_name()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//wb.create_named_range("test_range_single", ws, "B12"); wb.create_named_range("test_range_single", ws, "B12");
//assert_raises(CellCoordinatesException, ws.cell, "test_range_single"); assert_raises(CellCoordinatesException, ws.cell, "test_range_single");
//c_range_name = ws.range("test_range_single"); c_range_name = ws.range("test_range_single");
//c_range_coord = ws.range("B12"); c_range_coord = ws.range("B12");
//c_cell = ws.cell("B12"); c_cell = ws.cell("B12");
//TS_ASSERT_EQUALS(c_range_coord, c_range_name); TS_ASSERT_EQUALS(c_range_coord, c_range_name);
//TS_ASSERT_EQUALS(c_range_coord, c_cell); TS_ASSERT_EQUALS(c_range_coord, c_cell);
} }
void test_garbage_collect() void test_garbage_collect()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.cell("A1").value = ""; ws.cell("A1").value = "";
//ws.cell("B2").value = "0"; ws.cell("B2").value = "0";
//ws.cell("C4").value = 0; ws.cell("C4").value = 0;
//ws.garbage_collect(); ws.garbage_collect();
//for i, cell in enumerate(ws.get_cell_collection()) for i, cell in enumerate(ws.get_cell_collection())
//{ {
// TS_ASSERT_EQUALS(cell, [ws.cell("B2"), ws.cell("C4")][i]); TS_ASSERT_EQUALS(cell, [ws.cell("B2"), ws.cell("C4")][i]);
//} }
} }
void test_hyperlink_relationships() void test_hyperlink_relationships()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//TS_ASSERT_EQUALS(len(ws.relationships), 0); TS_ASSERT_EQUALS(len(ws.relationships), 0);
//ws.cell("A1").hyperlink = "http://test.com"; ws.cell("A1").hyperlink = "http:test.com";
//TS_ASSERT_EQUALS(len(ws.relationships), 1); TS_ASSERT_EQUALS(len(ws.relationships), 1);
//TS_ASSERT_EQUALS("rId1", ws.cell("A1").hyperlink_rel_id); TS_ASSERT_EQUALS("rId1", ws.cell("A1").hyperlink_rel_id);
//TS_ASSERT_EQUALS("rId1", ws.relationships[0].id); TS_ASSERT_EQUALS("rId1", ws.relationships[0].id);
//TS_ASSERT_EQUALS("http://test.com", ws.relationships[0].target); TS_ASSERT_EQUALS("http:test.com", ws.relationships[0].target);
//TS_ASSERT_EQUALS("External", ws.relationships[0].target_mode); TS_ASSERT_EQUALS("External", ws.relationships[0].target_mode);
//ws.cell("A2").hyperlink = "http://test2.com"; ws.cell("A2").hyperlink = "http:test2.com";
//TS_ASSERT_EQUALS(len(ws.relationships), 2); TS_ASSERT_EQUALS(len(ws.relationships), 2);
//TS_ASSERT_EQUALS("rId2", ws.cell("A2").hyperlink_rel_id); TS_ASSERT_EQUALS("rId2", ws.cell("A2").hyperlink_rel_id);
//TS_ASSERT_EQUALS("rId2", ws.relationships[1].id); TS_ASSERT_EQUALS("rId2", ws.relationships[1].id);
//TS_ASSERT_EQUALS("http://test2.com", ws.relationships[1].target); TS_ASSERT_EQUALS("http:test2.com", ws.relationships[1].target);
//TS_ASSERT_EQUALS("External", ws.relationships[1].target_mode); TS_ASSERT_EQUALS("External", ws.relationships[1].target_mode);
} }
void test_bad_relationship_type() void test_bad_relationship_type()
{ {
//rel = Relationship("bad_type"); rel = Relationship("bad_type");
} }
void test_append_list() void test_append_list()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.append(["This is A1", "This is B1"]); ws.append(["This is A1", "This is B1"]);
//TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value); TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value);
//TS_ASSERT_EQUALS("This is B1", ws.cell("B1").value); TS_ASSERT_EQUALS("This is B1", ws.cell("B1").value);
} }
void test_append_dict_letter() void test_append_dict_letter()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.append({"A" : "This is A1", "C" : "This is C1"}); ws.append({"A" : "This is A1", "C" : "This is C1"});
//TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value); TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value);
//TS_ASSERT_EQUALS("This is C1", ws.cell("C1").value); TS_ASSERT_EQUALS("This is C1", ws.cell("C1").value);
} }
void test_append_dict_index() void test_append_dict_index()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.append({0 : "This is A1", 2 : "This is C1"}); ws.append({0 : "This is A1", 2 : "This is C1"});
//TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value); TS_ASSERT_EQUALS("This is A1", ws.cell("A1").value);
//TS_ASSERT_EQUALS("This is C1", ws.cell("C1").value); TS_ASSERT_EQUALS("This is C1", ws.cell("C1").value);
} }
void test_bad_append() void test_bad_append()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.append("test"); ws.append("test");
} }
void test_append_2d_list() void test_append_2d_list()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.append(["This is A1", "This is B1"]); ws.append(["This is A1", "This is B1"]);
//ws.append(["This is A2", "This is B2"]); ws.append(["This is A2", "This is B2"]);
//vals = ws.range("A1:B2"); vals = ws.range("A1:B2");
//TS_ASSERT_EQUALS((("This is A1", "This is B1"), TS_ASSERT_EQUALS((("This is A1", "This is B1"),
// ("This is A2", "This is B2"), ), flatten(vals)); ("This is A2", "This is B2"), ), flatten(vals));
} }
void test_rows() void test_rows()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.cell("A1").value = "first"; ws.cell("A1").value = "first";
//ws.cell("C9").value = "last"; ws.cell("C9").value = "last";
//rows = ws.rows; rows = ws.rows;
//TS_ASSERT_EQUALS(len(rows), 9); TS_ASSERT_EQUALS(len(rows), 9);
//TS_ASSERT_EQUALS(rows[0][0].value, "first"); TS_ASSERT_EQUALS(rows[0][0].value, "first");
//TS_ASSERT_EQUALS(rows[-1][-1].value, "last"); TS_ASSERT_EQUALS(rows[-1][-1].value, "last");
} }
void test_cols() void test_cols()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.cell("A1").value = "first"; ws.cell("A1").value = "first";
//ws.cell("C9").value = "last"; ws.cell("C9").value = "last";
//cols = ws.columns; cols = ws.columns;
//TS_ASSERT_EQUALS(len(cols), 3); TS_ASSERT_EQUALS(len(cols), 3);
//TS_ASSERT_EQUALS(cols[0][0].value, "first"); TS_ASSERT_EQUALS(cols[0][0].value, "first");
//TS_ASSERT_EQUALS(cols[-1][-1].value, "last"); TS_ASSERT_EQUALS(cols[-1][-1].value, "last");
} }
void test_auto_filter() void test_auto_filter()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.auto_filter = ws.range("a1:f1"); ws.auto_filter = ws.range("a1:f1");
//assert ws.auto_filter == "A1:F1"; assert ws.auto_filter == "A1:F1";
//ws.auto_filter = ""; ws.auto_filter = "";
//assert ws.auto_filter is None; assert ws.auto_filter is None;
//ws.auto_filter = "c1:g9"; ws.auto_filter = "c1:g9";
//assert ws.auto_filter == "C1:G9"; assert ws.auto_filter == "C1:G9";
} }
void test_page_margins() void test_page_margins()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.page_margins.left = 2.0; ws.page_margins.left = 2.0;
//ws.page_margins.right = 2.0; ws.page_margins.right = 2.0;
//ws.page_margins.top = 2.0; ws.page_margins.top = 2.0;
//ws.page_margins.bottom = 2.0; ws.page_margins.bottom = 2.0;
//ws.page_margins.header = 1.5; ws.page_margins.header = 1.5;
//ws.page_margins.footer = 1.5; ws.page_margins.footer = 1.5;
//xml_string = write_worksheet(ws, None, None); xml_string = write_worksheet(ws, None, None);
//assert "<pageMargins left="2.00" right="2.00" top="2.00" bottom="2.00" header="1.50" footer="1.50"></pageMargins>" in xml_string; assert "<pageMargins left="2.00" right="2.00" top="2.00" bottom="2.00" header="1.50" footer="1.50"></pageMargins>" in xml_string;
//ws = Worksheet(wb); ws = Worksheet(wb);
//xml_string = write_worksheet(ws, None, None); xml_string = write_worksheet(ws, None, None);
//assert "<pageMargins" not in xml_string; assert "<pageMargins" not in xml_string;
} }
void test_merge() void test_merge()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//string_table = {"":"", "Cell A1" : "Cell A1", "Cell B1" : "Cell B1"}; string_table = {"":"", "Cell A1" : "Cell A1", "Cell B1" : "Cell B1"};
//ws.cell("A1").value = "Cell A1"; ws.cell("A1").value = "Cell A1";
//ws.cell("B1").value = "Cell B1"; ws.cell("B1").value = "Cell B1";
//xml_string = write_worksheet(ws, string_table, None); xml_string = write_worksheet(ws, string_table, None);
//assert "<c r="B1" t="s"><v>Cell B1</v></c>" in xml_string; assert "<c r="B1" t="s"><v>Cell B1</v></c>" in xml_string;
//ws.merge_cells("A1:B1"); ws.merge_cells("A1:B1");
//xml_string = write_worksheet(ws, string_table, None); xml_string = write_worksheet(ws, string_table, None);
//assert "<c r="B1" t="s"><v>Cell B1</v></c>" not in xml_string; assert "<c r="B1" t="s"><v>Cell B1</v></c>" not in xml_string;
//assert "<mergeCells><mergeCell ref="A1:B1"></mergeCell></mergeCells>" in xml_string; assert "<mergeCells><mergeCell ref="A1:B1"></mergeCell></mergeCells>" in xml_string;
//ws.unmerge_cells("A1:B1"); ws.unmerge_cells("A1:B1");
//xml_string = write_worksheet(ws, string_table, None); xml_string = write_worksheet(ws, string_table, None);
//assert "<mergeCell ref="A1:B1"></mergeCell>" not in xml_string; assert "<mergeCell ref="A1:B1"></mergeCell>" not in xml_string;
} }
void test_freeze() void test_freeze()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.freeze_panes = ws.cell("b2"); ws.freeze_panes = ws.cell("b2");
//assert ws.freeze_panes == "B2"; assert ws.freeze_panes == "B2";
//ws.freeze_panes = ""; ws.freeze_panes = "";
//assert ws.freeze_panes is None; assert ws.freeze_panes is None;
//ws.freeze_panes = "c5"; ws.freeze_panes = "c5";
//assert ws.freeze_panes == "C5"; assert ws.freeze_panes == "C5";
//ws.freeze_panes = ws.cell("A1"); ws.freeze_panes = ws.cell("A1");
//assert ws.freeze_panes is None; assert ws.freeze_panes is None;
} }
void test_printer_settings() void test_printer_settings()
{ {
//ws = Worksheet(wb); ws = Worksheet(wb);
//ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE; ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE;
//ws.page_setup.paperSize = ws.PAPERSIZE_TABLOID; ws.page_setup.paperSize = ws.PAPERSIZE_TABLOID;
//ws.page_setup.fitToPage = True; ws.page_setup.fitToPage = True;
//ws.page_setup.fitToHeight = 0; ws.page_setup.fitToHeight = 0;
//ws.page_setup.fitToWidth = 1; ws.page_setup.fitToWidth = 1;
//xml_string = write_worksheet(ws, None, None); xml_string = write_worksheet(ws, None, None);
//assert "<pageSetup orientation="landscape" paperSize="3" fitToHeight="0" fitToWidth="1"></pageSetup>" in xml_string; assert "<pageSetup orientation="landscape" paperSize="3" fitToHeight="0" fitToWidth="1"></pageSetup>" in xml_string;
//assert "<pageSetUpPr fitToPage="1"></pageSetUpPr>" in xml_string; assert "<pageSetUpPr fitToPage="1"></pageSetUpPr>" in xml_string;
//ws = Worksheet(wb); ws = Worksheet(wb);
//xml_string = write_worksheet(ws, None, None); xml_string = write_worksheet(ws, None, None);
//assert "<pageSetup" not in xml_string; assert "<pageSetup" not in xml_string;
//assert "<pageSetUpPr" not in xml_string; assert "<pageSetUpPr" not in xml_string;
} }
}; };

View File

@ -15,225 +15,225 @@ public:
void test_write_empty_workbook() void test_write_empty_workbook()
{ {
//make_tmpdir(); make_tmpdir();
//wb = Workbook(); wb = Workbook();
//dest_filename = os.path.join(TMPDIR, "empty_book.xlsx"); dest_filename = os.path.join(TMPDIR, "empty_book.xlsx");
//save_workbook(wb, dest_filename); save_workbook(wb, dest_filename);
//assert os.path.isfile(dest_filename); assert os.path.isfile(dest_filename);
//clean_tmpdir(); clean_tmpdir();
} }
void test_write_virtual_workbook() void test_write_virtual_workbook()
{ {
//old_wb = Workbook(); old_wb = Workbook();
//saved_wb = save_virtual_workbook(old_wb); saved_wb = save_virtual_workbook(old_wb);
//new_wb = load_workbook(BytesIO(saved_wb)); new_wb = load_workbook(BytesIO(saved_wb));
//assert new_wb; assert new_wb;
} }
void test_write_workbook_rels() void test_write_workbook_rels()
{ {
//wb = Workbook(); wb = Workbook();
//content = write_workbook_rels(wb); content = write_workbook_rels(wb);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "workbook.xml.rels"), content); "workbook.xml.rels"), content);
} }
void test_write_workbook() void test_write_workbook()
{ {
//wb = Workbook(); wb = Workbook();
//content = write_workbook(wb); content = write_workbook(wb);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "workbook.xml"), content); "workbook.xml"), content);
} }
void test_write_string_table() void test_write_string_table()
{ {
//table = {"hello": 1, "world" : 2, "nice" : 3}; table = {"hello": 1, "world" : 2, "nice" : 3};
//content = write_string_table(table); content = write_string_table(table);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sharedStrings.xml"), content); "sharedStrings.xml"), content);
} }
void test_write_worksheet() void test_write_worksheet()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1.xml"), content); "sheet1.xml"), content);
} }
void test_write_hidden_worksheet() void test_write_hidden_worksheet()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.sheet_state = ws.SHEETSTATE_HIDDEN; ws.sheet_state = ws.SHEETSTATE_HIDDEN;
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1.xml"), content); "sheet1.xml"), content);
} }
void test_write_bool() void test_write_bool()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F42").value = False; ws.cell("F42").value = False;
//ws.cell("F43").value = True; ws.cell("F43").value = True;
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_bool.xml"), content); "sheet1_bool.xml"), content);
} }
void test_write_formula() void test_write_formula()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F1").value = 10; ws.cell("F1").value = 10;
//ws.cell("F2").value = 32; ws.cell("F2").value = 32;
//ws.cell("F3").value = "=F1+F2"; ws.cell("F3").value = "=F1+F2";
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_formula.xml"), content); "sheet1_formula.xml"), content);
} }
void test_write_style() void test_write_style()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F1").value = "13%"; ws.cell("F1").value = "13%";
//style_id_by_hash = StyleWriter(wb).get_style_by_hash(); style_id_by_hash = StyleWriter(wb).get_style_by_hash();
//content = write_worksheet(ws, {}, style_id_by_hash); content = write_worksheet(ws, {}, style_id_by_hash);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_style.xml"), content); "sheet1_style.xml"), content);
} }
void test_write_height() void test_write_height()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F1").value = 10; ws.cell("F1").value = 10;
//ws.row_dimensions[ws.cell("F1").row].height = 30; ws.row_dimensions[ws.cell("F1").row].height = 30;
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_height.xml"), content); "sheet1_height.xml"), content);
} }
void test_write_hyperlink() void test_write_hyperlink()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("A1").value = "test"; ws.cell("A1").value = "test";
//ws.cell("A1").hyperlink = "http://test.com"; ws.cell("A1").hyperlink = "http:test.com";
//content = write_worksheet(ws, {"test": 0}, {}); content = write_worksheet(ws, {"test": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_hyperlink.xml"), content); "sheet1_hyperlink.xml"), content);
} }
void test_write_hyperlink_rels() void test_write_hyperlink_rels()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//TS_ASSERT_EQUALS(0, len(ws.relationships)); TS_ASSERT_EQUALS(0, len(ws.relationships));
//ws.cell("A1").value = "test"; ws.cell("A1").value = "test";
//ws.cell("A1").hyperlink = "http://test.com/"; ws.cell("A1").hyperlink = "http:test.com/";
//TS_ASSERT_EQUALS(1, len(ws.relationships)); TS_ASSERT_EQUALS(1, len(ws.relationships));
//ws.cell("A2").value = "test"; ws.cell("A2").value = "test";
//ws.cell("A2").hyperlink = "http://test2.com/"; ws.cell("A2").hyperlink = "http:test2.com/";
//TS_ASSERT_EQUALS(2, len(ws.relationships)); TS_ASSERT_EQUALS(2, len(ws.relationships));
//content = write_worksheet_rels(ws, 1); content = write_worksheet_rels(ws, 1);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_hyperlink.xml.rels"), content); "sheet1_hyperlink.xml.rels"), content);
} }
void test_hyperlink_value() void test_hyperlink_value()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("A1").hyperlink = "http://test.com"; ws.cell("A1").hyperlink = "http:test.com";
//TS_ASSERT_EQUALS("http://test.com", ws.cell("A1").value); TS_ASSERT_EQUALS("http:test.com", ws.cell("A1").value);
//ws.cell("A1").value = "test"; ws.cell("A1").value = "test";
//TS_ASSERT_EQUALS("test", ws.cell("A1").value); TS_ASSERT_EQUALS("test", ws.cell("A1").value);
} }
void test_write_auto_filter() void test_write_auto_filter()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.worksheets[0]; ws = wb.worksheets[0];
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//ws.auto_filter = "A1:F1"; ws.auto_filter = "A1:F1";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_auto_filter.xml"), content); "sheet1_auto_filter.xml"), content);
//content = write_workbook(wb); content = write_workbook(wb);
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "workbook_auto_filter.xml"), content); "workbook_auto_filter.xml"), content);
} }
void test_freeze_panes_horiz() void test_freeze_panes_horiz()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//ws.freeze_panes = "A4"; ws.freeze_panes = "A4";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_freeze_panes_horiz.xml"), content); "sheet1_freeze_panes_horiz.xml"), content);
} }
void test_freeze_panes_vert() void test_freeze_panes_vert()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//ws.freeze_panes = "D1"; ws.freeze_panes = "D1";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_freeze_panes_vert.xml"), content); "sheet1_freeze_panes_vert.xml"), content);
} }
void test_freeze_panes_both() void test_freeze_panes_both()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("F42").value = "hello"; ws.cell("F42").value = "hello";
//ws.freeze_panes = "D4"; ws.freeze_panes = "D4";
//content = write_worksheet(ws, {"hello": 0}, {}); content = write_worksheet(ws, {"hello": 0}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "sheet1_freeze_panes_both.xml"), content); "sheet1_freeze_panes_both.xml"), content);
} }
void test_long_number() void test_long_number()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("A1").value = 9781231231230; ws.cell("A1").value = 9781231231230;
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "long_number.xml"), content); "long_number.xml"), content);
} }
void test_decimal() void test_decimal()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("A1").value = decimal.Decimal("3.14"); ws.cell("A1").value = decimal.Decimal("3.14");
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "decimal.xml"), content); "decimal.xml"), content);
} }
void test_short_number() void test_short_number()
{ {
//wb = Workbook(); wb = Workbook();
//ws = wb.create_sheet(); ws = wb.create_sheet();
//ws.cell("A1").value = 1234567890; ws.cell("A1").value = 1234567890;
//content = write_worksheet(ws, {}, {}); content = write_worksheet(ws, {}, {});
//assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \ assert_equals_file_content(os.path.join(DATADIR, "writer", "expected", \
// "short_number.xml"), content); "short_number.xml"), content);
} }
}; };

View File

@ -11,17 +11,17 @@
#include <cxxtest/TestRunner.h> #include <cxxtest/TestRunner.h>
#include <cxxtest/RealDescriptions.h> #include <cxxtest/RealDescriptions.h>
#include <cxxtest/TestMain.h> #include <cxxtest/TestMain.h>
#include <cxxtest/ErrorPrinter.h> #include <cxxtest/ParenPrinter.h>
int main( int argc, char *argv[] ) { int main( int argc, char *argv[] ) {
int status; int status;
CxxTest::ErrorPrinter tmp; CxxTest::ParenPrinter tmp;
CxxTest::RealWorldDescription::_worldName = "cxxtest"; CxxTest::RealWorldDescription::_worldName = "cxxtest";
status = CxxTest::Main< CxxTest::ErrorPrinter >( tmp, argc, argv ); status = CxxTest::Main< CxxTest::ParenPrinter >( tmp, argc, argv );
return status; return status;
} }
bool suite_CellTestSuite_init = false; bool suite_CellTestSuite_init = false;
#include "/Users/thomas/Development/xlnt/source/tests/CellTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\CellTestSuite.h"
static CellTestSuite suite_CellTestSuite; static CellTestSuite suite_CellTestSuite;
@ -130,55 +130,61 @@ public:
void runTest() { suite_CellTestSuite.test_leading_zero(); } void runTest() { suite_CellTestSuite.test_leading_zero(); }
} testDescription_suite_CellTestSuite_test_leading_zero; } testDescription_suite_CellTestSuite_test_leading_zero;
static class TestDescription_suite_CellTestSuite_test_error_codes : public CxxTest::RealTestDescription {
public:
TestDescription_suite_CellTestSuite_test_error_codes() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 188, "test_error_codes" ) {}
void runTest() { suite_CellTestSuite.test_error_codes(); }
} testDescription_suite_CellTestSuite_test_error_codes;
static class TestDescription_suite_CellTestSuite_test_data_type_check : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_data_type_check : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_data_type_check() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 200, "test_data_type_check" ) {} TestDescription_suite_CellTestSuite_test_data_type_check() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 202, "test_data_type_check" ) {}
void runTest() { suite_CellTestSuite.test_data_type_check(); } void runTest() { suite_CellTestSuite.test_data_type_check(); }
} testDescription_suite_CellTestSuite_test_data_type_check; } testDescription_suite_CellTestSuite_test_data_type_check;
static class TestDescription_suite_CellTestSuite_test_set_bad_type : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_set_bad_type : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_set_bad_type() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 219, "test_set_bad_type" ) {} TestDescription_suite_CellTestSuite_test_set_bad_type() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 220, "test_set_bad_type" ) {}
void runTest() { suite_CellTestSuite.test_set_bad_type(); } void runTest() { suite_CellTestSuite.test_set_bad_type(); }
} testDescription_suite_CellTestSuite_test_set_bad_type; } testDescription_suite_CellTestSuite_test_set_bad_type;
static class TestDescription_suite_CellTestSuite_test_time : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_time : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_time() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 229, "test_time" ) {} TestDescription_suite_CellTestSuite_test_time() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 230, "test_time" ) {}
void runTest() { suite_CellTestSuite.test_time(); } void runTest() { suite_CellTestSuite.test_time(); }
} testDescription_suite_CellTestSuite_test_time; } testDescription_suite_CellTestSuite_test_time;
static class TestDescription_suite_CellTestSuite_test_date_format_on_non_date : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_date_format_on_non_date : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_date_format_on_non_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 258, "test_date_format_on_non_date" ) {} TestDescription_suite_CellTestSuite_test_date_format_on_non_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 252, "test_date_format_on_non_date" ) {}
void runTest() { suite_CellTestSuite.test_date_format_on_non_date(); } void runTest() { suite_CellTestSuite.test_date_format_on_non_date(); }
} testDescription_suite_CellTestSuite_test_date_format_on_non_date; } testDescription_suite_CellTestSuite_test_date_format_on_non_date;
static class TestDescription_suite_CellTestSuite_test_set_get_date : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_set_get_date : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_set_get_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 271, "test_set_get_date" ) {} TestDescription_suite_CellTestSuite_test_set_get_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 265, "test_set_get_date" ) {}
void runTest() { suite_CellTestSuite.test_set_get_date(); } void runTest() { suite_CellTestSuite.test_set_get_date(); }
} testDescription_suite_CellTestSuite_test_set_get_date; } testDescription_suite_CellTestSuite_test_set_get_date;
static class TestDescription_suite_CellTestSuite_test_repr : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_repr : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_repr() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 289, "test_repr" ) {} TestDescription_suite_CellTestSuite_test_repr() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 283, "test_repr" ) {}
void runTest() { suite_CellTestSuite.test_repr(); } void runTest() { suite_CellTestSuite.test_repr(); }
} testDescription_suite_CellTestSuite_test_repr; } testDescription_suite_CellTestSuite_test_repr;
static class TestDescription_suite_CellTestSuite_test_is_date : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_is_date : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_is_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 298, "test_is_date" ) {} TestDescription_suite_CellTestSuite_test_is_date() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 292, "test_is_date" ) {}
void runTest() { suite_CellTestSuite.test_is_date(); } void runTest() { suite_CellTestSuite.test_is_date(); }
} testDescription_suite_CellTestSuite_test_is_date; } testDescription_suite_CellTestSuite_test_is_date;
static class TestDescription_suite_CellTestSuite_test_is_not_date_color_format : public CxxTest::RealTestDescription { static class TestDescription_suite_CellTestSuite_test_is_not_date_color_format : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_CellTestSuite_test_is_not_date_color_format() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 315, "test_is_not_date_color_format" ) {} TestDescription_suite_CellTestSuite_test_is_not_date_color_format() : CxxTest::RealTestDescription( Tests_CellTestSuite, suiteDescription_CellTestSuite, 309, "test_is_not_date_color_format" ) {}
void runTest() { suite_CellTestSuite.test_is_not_date_color_format(); } void runTest() { suite_CellTestSuite.test_is_not_date_color_format(); }
} testDescription_suite_CellTestSuite_test_is_not_date_color_format; } testDescription_suite_CellTestSuite_test_is_not_date_color_format;
#include "/Users/thomas/Development/xlnt/source/tests/ChartTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\ChartTestSuite.h"
static ChartTestSuite suite_ChartTestSuite; static ChartTestSuite suite_ChartTestSuite;
@ -269,7 +275,7 @@ public:
void runTest() { suite_ChartTestSuite.test_write_chart_scatter(); } void runTest() { suite_ChartTestSuite.test_write_chart_scatter(); }
} testDescription_suite_ChartTestSuite_test_write_chart_scatter; } testDescription_suite_ChartTestSuite_test_write_chart_scatter;
#include "/Users/thomas/Development/xlnt/source/tests/DumpTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\DumpTestSuite.h"
static DumpTestSuite suite_DumpTestSuite; static DumpTestSuite suite_DumpTestSuite;
@ -318,20 +324,7 @@ public:
void runTest() { suite_DumpTestSuite.test_append_after_save(); } void runTest() { suite_DumpTestSuite.test_append_after_save(); }
} testDescription_suite_DumpTestSuite_test_append_after_save; } testDescription_suite_DumpTestSuite_test_append_after_save;
#include "/Users/thomas/Development/xlnt/source/tests/IntegrationTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\IterTestSuite.h"
static IntegrationTestSuite suite_IntegrationTestSuite;
static CxxTest::List Tests_IntegrationTestSuite = { 0, 0 };
CxxTest::StaticSuiteDescription suiteDescription_IntegrationTestSuite( "../../source/tests/IntegrationTestSuite.h", 8, "IntegrationTestSuite", suite_IntegrationTestSuite, Tests_IntegrationTestSuite );
static class TestDescription_suite_IntegrationTestSuite_test_1 : public CxxTest::RealTestDescription {
public:
TestDescription_suite_IntegrationTestSuite_test_1() : CxxTest::RealTestDescription( Tests_IntegrationTestSuite, suiteDescription_IntegrationTestSuite, 16, "test_1" ) {}
void runTest() { suite_IntegrationTestSuite.test_1(); }
} testDescription_suite_IntegrationTestSuite_test_1;
#include "/Users/thomas/Development/xlnt/source/tests/IterTestSuite.h"
static IterTestSuite suite_IterTestSuite; static IterTestSuite suite_IterTestSuite;
@ -386,7 +379,7 @@ public:
void runTest() { suite_IterTestSuite.test_read_single_cell_date(); } void runTest() { suite_IterTestSuite.test_read_single_cell_date(); }
} testDescription_suite_IterTestSuite_test_read_single_cell_date; } testDescription_suite_IterTestSuite_test_read_single_cell_date;
#include "/Users/thomas/Development/xlnt/source/tests/MetaTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\MetaTestSuite.h"
static MetaTestSuite suite_MetaTestSuite; static MetaTestSuite suite_MetaTestSuite;
@ -405,7 +398,7 @@ public:
void runTest() { suite_MetaTestSuite.test_write_root_rels(); } void runTest() { suite_MetaTestSuite.test_write_root_rels(); }
} testDescription_suite_MetaTestSuite_test_write_root_rels; } testDescription_suite_MetaTestSuite_test_write_root_rels;
#include "/Users/thomas/Development/xlnt/source/tests/NamedRangeTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\NamedRangeTestSuite.h"
static NamedRangeTestSuite suite_NamedRangeTestSuite; static NamedRangeTestSuite suite_NamedRangeTestSuite;
@ -496,7 +489,7 @@ public:
void runTest() { suite_NamedRangeTestSuite.test_can_be_saved(); } void runTest() { suite_NamedRangeTestSuite.test_can_be_saved(); }
} testDescription_suite_NamedRangeTestSuite_test_can_be_saved; } testDescription_suite_NamedRangeTestSuite_test_can_be_saved;
#include "/Users/thomas/Development/xlnt/source/tests/NullableTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\NullableTestSuite.h"
static NullableTestSuite suite_NullableTestSuite; static NullableTestSuite suite_NullableTestSuite;
@ -533,7 +526,7 @@ public:
void runTest() { suite_NullableTestSuite.test_copy_constructor(); } void runTest() { suite_NullableTestSuite.test_copy_constructor(); }
} testDescription_suite_NullableTestSuite_test_copy_constructor; } testDescription_suite_NullableTestSuite_test_copy_constructor;
#include "/Users/thomas/Development/xlnt/source/tests/NumberFormatTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\NumberFormatTestSuite.h"
static NumberFormatTestSuite suite_NumberFormatTestSuite; static NumberFormatTestSuite suite_NumberFormatTestSuite;
@ -636,32 +629,44 @@ public:
void runTest() { suite_NumberFormatTestSuite.test_mac_date(); } void runTest() { suite_NumberFormatTestSuite.test_mac_date(); }
} testDescription_suite_NumberFormatTestSuite_test_mac_date; } testDescription_suite_NumberFormatTestSuite_test_mac_date;
#include "/Users/thomas/Development/xlnt/source/tests/PackageTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\PackageTestSuite.h"
static PackageTestSuite suite_PackageTestSuite; static PackageTestSuite suite_PackageTestSuite;
static CxxTest::List Tests_PackageTestSuite = { 0, 0 }; static CxxTest::List Tests_PackageTestSuite = { 0, 0 };
CxxTest::StaticSuiteDescription suiteDescription_PackageTestSuite( "../../source/tests/PackageTestSuite.h", 8, "PackageTestSuite", suite_PackageTestSuite, Tests_PackageTestSuite ); CxxTest::StaticSuiteDescription suiteDescription_PackageTestSuite( "../../source/tests/PackageTestSuite.h", 8, "PackageTestSuite", suite_PackageTestSuite, Tests_PackageTestSuite );
static class TestDescription_suite_PackageTestSuite_test_existing_package : public CxxTest::RealTestDescription {
public:
TestDescription_suite_PackageTestSuite_test_existing_package() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 21, "test_existing_package" ) {}
void runTest() { suite_PackageTestSuite.test_existing_package(); }
} testDescription_suite_PackageTestSuite_test_existing_package;
static class TestDescription_suite_PackageTestSuite_test_new_package : public CxxTest::RealTestDescription {
public:
TestDescription_suite_PackageTestSuite_test_new_package() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 27, "test_new_package" ) {}
void runTest() { suite_PackageTestSuite.test_new_package(); }
} testDescription_suite_PackageTestSuite_test_new_package;
static class TestDescription_suite_PackageTestSuite_test_read_text : public CxxTest::RealTestDescription { static class TestDescription_suite_PackageTestSuite_test_read_text : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_PackageTestSuite_test_read_text() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 16, "test_read_text" ) {} TestDescription_suite_PackageTestSuite_test_read_text() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 38, "test_read_text" ) {}
void runTest() { suite_PackageTestSuite.test_read_text(); } void runTest() { suite_PackageTestSuite.test_read_text(); }
} testDescription_suite_PackageTestSuite_test_read_text; } testDescription_suite_PackageTestSuite_test_read_text;
static class TestDescription_suite_PackageTestSuite_test_write_text : public CxxTest::RealTestDescription { static class TestDescription_suite_PackageTestSuite_test_write_text : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_PackageTestSuite_test_write_text() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 28, "test_write_text" ) {} TestDescription_suite_PackageTestSuite_test_write_text() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 50, "test_write_text" ) {}
void runTest() { suite_PackageTestSuite.test_write_text(); } void runTest() { suite_PackageTestSuite.test_write_text(); }
} testDescription_suite_PackageTestSuite_test_write_text; } testDescription_suite_PackageTestSuite_test_write_text;
static class TestDescription_suite_PackageTestSuite_test_read_xml : public CxxTest::RealTestDescription { static class TestDescription_suite_PackageTestSuite_test_read_xml : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_PackageTestSuite_test_read_xml() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 53, "test_read_xml" ) {} TestDescription_suite_PackageTestSuite_test_read_xml() : CxxTest::RealTestDescription( Tests_PackageTestSuite, suiteDescription_PackageTestSuite, 75, "test_read_xml" ) {}
void runTest() { suite_PackageTestSuite.test_read_xml(); } void runTest() { suite_PackageTestSuite.test_read_xml(); }
} testDescription_suite_PackageTestSuite_test_read_xml; } testDescription_suite_PackageTestSuite_test_read_xml;
#include "/Users/thomas/Development/xlnt/source/tests/PasswordHashTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\PasswordHashTestSuite.h"
static PasswordHashTestSuite suite_PasswordHashTestSuite; static PasswordHashTestSuite suite_PasswordHashTestSuite;
@ -680,7 +685,7 @@ public:
void runTest() { suite_PasswordHashTestSuite.test_sheet_protection(); } void runTest() { suite_PasswordHashTestSuite.test_sheet_protection(); }
} testDescription_suite_PasswordHashTestSuite_test_sheet_protection; } testDescription_suite_PasswordHashTestSuite_test_sheet_protection;
#include "/Users/thomas/Development/xlnt/source/tests/PropsTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\PropsTestSuite.h"
static PropsTestSuite suite_PropsTestSuite; static PropsTestSuite suite_PropsTestSuite;
@ -729,7 +734,7 @@ public:
void runTest() { suite_PropsTestSuite.test_write_properties_app(); } void runTest() { suite_PropsTestSuite.test_write_properties_app(); }
} testDescription_suite_PropsTestSuite_test_write_properties_app; } testDescription_suite_PropsTestSuite_test_write_properties_app;
#include "/Users/thomas/Development/xlnt/source/tests/ReadTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\ReadTestSuite.h"
static ReadTestSuite suite_ReadTestSuite; static ReadTestSuite suite_ReadTestSuite;
@ -862,7 +867,7 @@ public:
void runTest() { suite_ReadTestSuite.test_read_date_value(); } void runTest() { suite_ReadTestSuite.test_read_date_value(); }
} testDescription_suite_ReadTestSuite_test_read_date_value; } testDescription_suite_ReadTestSuite_test_read_date_value;
#include "/Users/thomas/Development/xlnt/source/tests/StringsTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\StringsTestSuite.h"
static StringsTestSuite suite_StringsTestSuite; static StringsTestSuite suite_StringsTestSuite;
@ -893,7 +898,7 @@ public:
void runTest() { suite_StringsTestSuite.test_formatted_string_table(); } void runTest() { suite_StringsTestSuite.test_formatted_string_table(); }
} testDescription_suite_StringsTestSuite_test_formatted_string_table; } testDescription_suite_StringsTestSuite_test_formatted_string_table;
#include "/Users/thomas/Development/xlnt/source/tests/StyleTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\StyleTestSuite.h"
static StyleTestSuite suite_StyleTestSuite; static StyleTestSuite suite_StyleTestSuite;
@ -990,7 +995,7 @@ public:
void runTest() { suite_StyleTestSuite.test_read_cell_style(); } void runTest() { suite_StyleTestSuite.test_read_cell_style(); }
} testDescription_suite_StyleTestSuite_test_read_cell_style; } testDescription_suite_StyleTestSuite_test_read_cell_style;
#include "/Users/thomas/Development/xlnt/source/tests/ThemeTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\ThemeTestSuite.h"
static ThemeTestSuite suite_ThemeTestSuite; static ThemeTestSuite suite_ThemeTestSuite;
@ -1003,7 +1008,7 @@ public:
void runTest() { suite_ThemeTestSuite.test_write_theme(); } void runTest() { suite_ThemeTestSuite.test_write_theme(); }
} testDescription_suite_ThemeTestSuite_test_write_theme; } testDescription_suite_ThemeTestSuite_test_write_theme;
#include "/Users/thomas/Development/xlnt/source/tests/UnicodeTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\UnicodeTestSuite.h"
static UnicodeTestSuite suite_UnicodeTestSuite; static UnicodeTestSuite suite_UnicodeTestSuite;
@ -1016,7 +1021,7 @@ public:
void runTest() { suite_UnicodeTestSuite.test_read_workbook_with_unicode_character(); } void runTest() { suite_UnicodeTestSuite.test_read_workbook_with_unicode_character(); }
} testDescription_suite_UnicodeTestSuite_test_read_workbook_with_unicode_character; } testDescription_suite_UnicodeTestSuite_test_read_workbook_with_unicode_character;
#include "/Users/thomas/Development/xlnt/source/tests/WorkbookTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\WorkbookTestSuite.h"
static WorkbookTestSuite suite_WorkbookTestSuite; static WorkbookTestSuite suite_WorkbookTestSuite;
@ -1121,67 +1126,67 @@ public:
static class TestDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 138, "test_create_sheet_readonly2" ) {} TestDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 137, "test_create_sheet_readonly2" ) {}
void runTest() { suite_WorkbookTestSuite.test_create_sheet_readonly2(); } void runTest() { suite_WorkbookTestSuite.test_create_sheet_readonly2(); }
} testDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2; } testDescription_suite_WorkbookTestSuite_test_create_sheet_readonly2;
static class TestDescription_suite_WorkbookTestSuite_test_remove_sheet2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_remove_sheet2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_remove_sheet2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 145, "test_remove_sheet2" ) {} TestDescription_suite_WorkbookTestSuite_test_remove_sheet2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 144, "test_remove_sheet2" ) {}
void runTest() { suite_WorkbookTestSuite.test_remove_sheet2(); } void runTest() { suite_WorkbookTestSuite.test_remove_sheet2(); }
} testDescription_suite_WorkbookTestSuite_test_remove_sheet2; } testDescription_suite_WorkbookTestSuite_test_remove_sheet2;
static class TestDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 153, "test_get_sheet_by_name2" ) {} TestDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 152, "test_get_sheet_by_name2" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_sheet_by_name2(); } void runTest() { suite_WorkbookTestSuite.test_get_sheet_by_name2(); }
} testDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2; } testDescription_suite_WorkbookTestSuite_test_get_sheet_by_name2;
static class TestDescription_suite_WorkbookTestSuite_test_get_index : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_index : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_index() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 163, "test_get_index" ) {} TestDescription_suite_WorkbookTestSuite_test_get_index() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 162, "test_get_index" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_index(); } void runTest() { suite_WorkbookTestSuite.test_get_index(); }
} testDescription_suite_WorkbookTestSuite_test_get_index; } testDescription_suite_WorkbookTestSuite_test_get_index;
static class TestDescription_suite_WorkbookTestSuite_test_get_sheet_names2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_sheet_names2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_sheet_names2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 171, "test_get_sheet_names2" ) {} TestDescription_suite_WorkbookTestSuite_test_get_sheet_names2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 170, "test_get_sheet_names2" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_sheet_names2(); } void runTest() { suite_WorkbookTestSuite.test_get_sheet_names2(); }
} testDescription_suite_WorkbookTestSuite_test_get_sheet_names2; } testDescription_suite_WorkbookTestSuite_test_get_sheet_names2;
static class TestDescription_suite_WorkbookTestSuite_test_get_named_ranges : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_named_ranges : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_named_ranges() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 183, "test_get_named_ranges" ) {} TestDescription_suite_WorkbookTestSuite_test_get_named_ranges() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 182, "test_get_named_ranges" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_named_ranges(); } void runTest() { suite_WorkbookTestSuite.test_get_named_ranges(); }
} testDescription_suite_WorkbookTestSuite_test_get_named_ranges; } testDescription_suite_WorkbookTestSuite_test_get_named_ranges;
static class TestDescription_suite_WorkbookTestSuite_test_add_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_add_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_add_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 189, "test_add_named_range" ) {} TestDescription_suite_WorkbookTestSuite_test_add_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 188, "test_add_named_range" ) {}
void runTest() { suite_WorkbookTestSuite.test_add_named_range(); } void runTest() { suite_WorkbookTestSuite.test_add_named_range(); }
} testDescription_suite_WorkbookTestSuite_test_add_named_range; } testDescription_suite_WorkbookTestSuite_test_add_named_range;
static class TestDescription_suite_WorkbookTestSuite_test_get_named_range2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_named_range2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 199, "test_get_named_range2" ) {} TestDescription_suite_WorkbookTestSuite_test_get_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 198, "test_get_named_range2" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_named_range2(); } void runTest() { suite_WorkbookTestSuite.test_get_named_range2(); }
} testDescription_suite_WorkbookTestSuite_test_get_named_range2; } testDescription_suite_WorkbookTestSuite_test_get_named_range2;
static class TestDescription_suite_WorkbookTestSuite_test_remove_named_range2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_remove_named_range2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_remove_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 209, "test_remove_named_range2" ) {} TestDescription_suite_WorkbookTestSuite_test_remove_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 208, "test_remove_named_range2" ) {}
void runTest() { suite_WorkbookTestSuite.test_remove_named_range2(); } void runTest() { suite_WorkbookTestSuite.test_remove_named_range2(); }
} testDescription_suite_WorkbookTestSuite_test_remove_named_range2; } testDescription_suite_WorkbookTestSuite_test_remove_named_range2;
static class TestDescription_suite_WorkbookTestSuite_test_add_local_named_range2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_add_local_named_range2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_add_local_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 221, "test_add_local_named_range2" ) {} TestDescription_suite_WorkbookTestSuite_test_add_local_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 219, "test_add_local_named_range2" ) {}
void runTest() { suite_WorkbookTestSuite.test_add_local_named_range2(); } void runTest() { suite_WorkbookTestSuite.test_add_local_named_range2(); }
} testDescription_suite_WorkbookTestSuite_test_add_local_named_range2; } testDescription_suite_WorkbookTestSuite_test_add_local_named_range2;
static class TestDescription_suite_WorkbookTestSuite_test_write_regular_date : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_write_regular_date : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_write_regular_date() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 233, "test_write_regular_date" ) {} TestDescription_suite_WorkbookTestSuite_test_write_regular_date() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 232, "test_write_regular_date" ) {}
void runTest() { suite_WorkbookTestSuite.test_write_regular_date(); } void runTest() { suite_WorkbookTestSuite.test_write_regular_date(); }
} testDescription_suite_WorkbookTestSuite_test_write_regular_date; } testDescription_suite_WorkbookTestSuite_test_write_regular_date;
@ -1193,65 +1198,65 @@ public:
static class TestDescription_suite_WorkbookTestSuite_test_bad_encoding2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_bad_encoding2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_bad_encoding2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 266, "test_bad_encoding2" ) {} TestDescription_suite_WorkbookTestSuite_test_bad_encoding2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 267, "test_bad_encoding2" ) {}
void runTest() { suite_WorkbookTestSuite.test_bad_encoding2(); } void runTest() { suite_WorkbookTestSuite.test_bad_encoding2(); }
} testDescription_suite_WorkbookTestSuite_test_bad_encoding2; } testDescription_suite_WorkbookTestSuite_test_bad_encoding2;
static class TestDescription_suite_WorkbookTestSuite_test_good_encoding2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_good_encoding2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_good_encoding2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 276, "test_good_encoding2" ) {} TestDescription_suite_WorkbookTestSuite_test_good_encoding2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 278, "test_good_encoding2" ) {}
void runTest() { suite_WorkbookTestSuite.test_good_encoding2(); } void runTest() { suite_WorkbookTestSuite.test_good_encoding2(); }
} testDescription_suite_WorkbookTestSuite_test_good_encoding2; } testDescription_suite_WorkbookTestSuite_test_good_encoding2;
static class TestDescription_suite_WorkbookTestSuite_test_add_named_range2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_add_named_range2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_add_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 286, "test_add_named_range2" ) {} TestDescription_suite_WorkbookTestSuite_test_add_named_range2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 288, "test_add_named_range2" ) {}
void runTest() { suite_WorkbookTestSuite.test_add_named_range2(); } void runTest() { suite_WorkbookTestSuite.test_add_named_range2(); }
} testDescription_suite_WorkbookTestSuite_test_add_named_range2; } testDescription_suite_WorkbookTestSuite_test_add_named_range2;
static class TestDescription_suite_WorkbookTestSuite_test_get_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_get_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_get_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 296, "test_get_named_range" ) {} TestDescription_suite_WorkbookTestSuite_test_get_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 298, "test_get_named_range" ) {}
void runTest() { suite_WorkbookTestSuite.test_get_named_range(); } void runTest() { suite_WorkbookTestSuite.test_get_named_range(); }
} testDescription_suite_WorkbookTestSuite_test_get_named_range; } testDescription_suite_WorkbookTestSuite_test_get_named_range;
static class TestDescription_suite_WorkbookTestSuite_test_remove_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_remove_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_remove_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 306, "test_remove_named_range" ) {} TestDescription_suite_WorkbookTestSuite_test_remove_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 308, "test_remove_named_range" ) {}
void runTest() { suite_WorkbookTestSuite.test_remove_named_range(); } void runTest() { suite_WorkbookTestSuite.test_remove_named_range(); }
} testDescription_suite_WorkbookTestSuite_test_remove_named_range; } testDescription_suite_WorkbookTestSuite_test_remove_named_range;
static class TestDescription_suite_WorkbookTestSuite_test_add_local_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_add_local_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_add_local_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 318, "test_add_local_named_range" ) {} TestDescription_suite_WorkbookTestSuite_test_add_local_named_range() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 319, "test_add_local_named_range" ) {}
void runTest() { suite_WorkbookTestSuite.test_add_local_named_range(); } void runTest() { suite_WorkbookTestSuite.test_add_local_named_range(); }
} testDescription_suite_WorkbookTestSuite_test_add_local_named_range; } testDescription_suite_WorkbookTestSuite_test_add_local_named_range;
static class TestDescription_suite_WorkbookTestSuite_test_write_regular_date2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_write_regular_date2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_write_regular_date2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 331, "test_write_regular_date2" ) {} TestDescription_suite_WorkbookTestSuite_test_write_regular_date2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 332, "test_write_regular_date2" ) {}
void runTest() { suite_WorkbookTestSuite.test_write_regular_date2(); } void runTest() { suite_WorkbookTestSuite.test_write_regular_date2(); }
} testDescription_suite_WorkbookTestSuite_test_write_regular_date2; } testDescription_suite_WorkbookTestSuite_test_write_regular_date2;
static class TestDescription_suite_WorkbookTestSuite_test_write_regular_float2 : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_write_regular_float2 : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_write_regular_float2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 348, "test_write_regular_float2" ) {} TestDescription_suite_WorkbookTestSuite_test_write_regular_float2() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 350, "test_write_regular_float2" ) {}
void runTest() { suite_WorkbookTestSuite.test_write_regular_float2(); } void runTest() { suite_WorkbookTestSuite.test_write_regular_float2(); }
} testDescription_suite_WorkbookTestSuite_test_write_regular_float2; } testDescription_suite_WorkbookTestSuite_test_write_regular_float2;
static class TestDescription_suite_WorkbookTestSuite_test_bad_encoding : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_bad_encoding : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_bad_encoding() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 364, "test_bad_encoding" ) {} TestDescription_suite_WorkbookTestSuite_test_bad_encoding() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 369, "test_bad_encoding" ) {}
void runTest() { suite_WorkbookTestSuite.test_bad_encoding(); } void runTest() { suite_WorkbookTestSuite.test_bad_encoding(); }
} testDescription_suite_WorkbookTestSuite_test_bad_encoding; } testDescription_suite_WorkbookTestSuite_test_bad_encoding;
static class TestDescription_suite_WorkbookTestSuite_test_good_encoding : public CxxTest::RealTestDescription { static class TestDescription_suite_WorkbookTestSuite_test_good_encoding : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorkbookTestSuite_test_good_encoding() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 374, "test_good_encoding" ) {} TestDescription_suite_WorkbookTestSuite_test_good_encoding() : CxxTest::RealTestDescription( Tests_WorkbookTestSuite, suiteDescription_WorkbookTestSuite, 379, "test_good_encoding" ) {}
void runTest() { suite_WorkbookTestSuite.test_good_encoding(); } void runTest() { suite_WorkbookTestSuite.test_good_encoding(); }
} testDescription_suite_WorkbookTestSuite_test_good_encoding; } testDescription_suite_WorkbookTestSuite_test_good_encoding;
#include "/Users/thomas/Development/xlnt/source/tests/WorksheetTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\WorksheetTestSuite.h"
static WorksheetTestSuite suite_WorksheetTestSuite; static WorksheetTestSuite suite_WorksheetTestSuite;
@ -1260,185 +1265,185 @@ CxxTest::StaticSuiteDescription suiteDescription_WorksheetTestSuite( "../../sour
static class TestDescription_suite_WorksheetTestSuite_test_new_worksheet : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_new_worksheet : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_new_worksheet() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 18, "test_new_worksheet" ) {} TestDescription_suite_WorksheetTestSuite_test_new_worksheet() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 15, "test_new_worksheet" ) {}
void runTest() { suite_WorksheetTestSuite.test_new_worksheet(); } void runTest() { suite_WorksheetTestSuite.test_new_worksheet(); }
} testDescription_suite_WorksheetTestSuite_test_new_worksheet; } testDescription_suite_WorksheetTestSuite_test_new_worksheet;
static class TestDescription_suite_WorksheetTestSuite_test_new_sheet_name : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_new_sheet_name : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_new_sheet_name() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 24, "test_new_sheet_name" ) {} TestDescription_suite_WorksheetTestSuite_test_new_sheet_name() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 21, "test_new_sheet_name" ) {}
void runTest() { suite_WorksheetTestSuite.test_new_sheet_name(); } void runTest() { suite_WorksheetTestSuite.test_new_sheet_name(); }
} testDescription_suite_WorksheetTestSuite_test_new_sheet_name; } testDescription_suite_WorksheetTestSuite_test_new_sheet_name;
static class TestDescription_suite_WorksheetTestSuite_test_get_cell : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_get_cell : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_get_cell() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 31, "test_get_cell" ) {} TestDescription_suite_WorksheetTestSuite_test_get_cell() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 28, "test_get_cell" ) {}
void runTest() { suite_WorksheetTestSuite.test_get_cell(); } void runTest() { suite_WorksheetTestSuite.test_get_cell(); }
} testDescription_suite_WorksheetTestSuite_test_get_cell; } testDescription_suite_WorksheetTestSuite_test_get_cell;
static class TestDescription_suite_WorksheetTestSuite_test_set_bad_title : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_set_bad_title : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_set_bad_title() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 38, "test_set_bad_title" ) {} TestDescription_suite_WorksheetTestSuite_test_set_bad_title() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 35, "test_set_bad_title" ) {}
void runTest() { suite_WorksheetTestSuite.test_set_bad_title(); } void runTest() { suite_WorksheetTestSuite.test_set_bad_title(); }
} testDescription_suite_WorksheetTestSuite_test_set_bad_title; } testDescription_suite_WorksheetTestSuite_test_set_bad_title;
static class TestDescription_suite_WorksheetTestSuite_test_set_bad_title_character : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_set_bad_title_character : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_set_bad_title_character() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 43, "test_set_bad_title_character" ) {} TestDescription_suite_WorksheetTestSuite_test_set_bad_title_character() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 40, "test_set_bad_title_character" ) {}
void runTest() { suite_WorksheetTestSuite.test_set_bad_title_character(); } void runTest() { suite_WorksheetTestSuite.test_set_bad_title_character(); }
} testDescription_suite_WorksheetTestSuite_test_set_bad_title_character; } testDescription_suite_WorksheetTestSuite_test_set_bad_title_character;
static class TestDescription_suite_WorksheetTestSuite_test_worksheet_dimension : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_worksheet_dimension : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_worksheet_dimension() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 54, "test_worksheet_dimension" ) {} TestDescription_suite_WorksheetTestSuite_test_worksheet_dimension() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 51, "test_worksheet_dimension" ) {}
void runTest() { suite_WorksheetTestSuite.test_worksheet_dimension(); } void runTest() { suite_WorksheetTestSuite.test_worksheet_dimension(); }
} testDescription_suite_WorksheetTestSuite_test_worksheet_dimension; } testDescription_suite_WorksheetTestSuite_test_worksheet_dimension;
static class TestDescription_suite_WorksheetTestSuite_test_worksheet_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_worksheet_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_worksheet_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 62, "test_worksheet_range" ) {} TestDescription_suite_WorksheetTestSuite_test_worksheet_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 59, "test_worksheet_range" ) {}
void runTest() { suite_WorksheetTestSuite.test_worksheet_range(); } void runTest() { suite_WorksheetTestSuite.test_worksheet_range(); }
} testDescription_suite_WorksheetTestSuite_test_worksheet_range; } testDescription_suite_WorksheetTestSuite_test_worksheet_range;
static class TestDescription_suite_WorksheetTestSuite_test_worksheet_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_worksheet_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_worksheet_named_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 71, "test_worksheet_named_range" ) {} TestDescription_suite_WorksheetTestSuite_test_worksheet_named_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 68, "test_worksheet_named_range" ) {}
void runTest() { suite_WorksheetTestSuite.test_worksheet_named_range(); } void runTest() { suite_WorksheetTestSuite.test_worksheet_named_range(); }
} testDescription_suite_WorksheetTestSuite_test_worksheet_named_range; } testDescription_suite_WorksheetTestSuite_test_worksheet_named_range;
static class TestDescription_suite_WorksheetTestSuite_test_bad_named_range : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_bad_named_range : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_bad_named_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 80, "test_bad_named_range" ) {} TestDescription_suite_WorksheetTestSuite_test_bad_named_range() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 77, "test_bad_named_range" ) {}
void runTest() { suite_WorksheetTestSuite.test_bad_named_range(); } void runTest() { suite_WorksheetTestSuite.test_bad_named_range(); }
} testDescription_suite_WorksheetTestSuite_test_bad_named_range; } testDescription_suite_WorksheetTestSuite_test_bad_named_range;
static class TestDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 86, "test_named_range_wrong_sheet" ) {} TestDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 83, "test_named_range_wrong_sheet" ) {}
void runTest() { suite_WorksheetTestSuite.test_named_range_wrong_sheet(); } void runTest() { suite_WorksheetTestSuite.test_named_range_wrong_sheet(); }
} testDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet; } testDescription_suite_WorksheetTestSuite_test_named_range_wrong_sheet;
static class TestDescription_suite_WorksheetTestSuite_test_cell_offset : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_cell_offset : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_cell_offset() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 94, "test_cell_offset" ) {} TestDescription_suite_WorksheetTestSuite_test_cell_offset() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 91, "test_cell_offset" ) {}
void runTest() { suite_WorksheetTestSuite.test_cell_offset(); } void runTest() { suite_WorksheetTestSuite.test_cell_offset(); }
} testDescription_suite_WorksheetTestSuite_test_cell_offset; } testDescription_suite_WorksheetTestSuite_test_cell_offset;
static class TestDescription_suite_WorksheetTestSuite_test_range_offset : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_range_offset : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_range_offset() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 100, "test_range_offset" ) {} TestDescription_suite_WorksheetTestSuite_test_range_offset() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 97, "test_range_offset" ) {}
void runTest() { suite_WorksheetTestSuite.test_range_offset(); } void runTest() { suite_WorksheetTestSuite.test_range_offset(); }
} testDescription_suite_WorksheetTestSuite_test_range_offset; } testDescription_suite_WorksheetTestSuite_test_range_offset;
static class TestDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 110, "test_cell_alternate_coordinates" ) {} TestDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 107, "test_cell_alternate_coordinates" ) {}
void runTest() { suite_WorksheetTestSuite.test_cell_alternate_coordinates(); } void runTest() { suite_WorksheetTestSuite.test_cell_alternate_coordinates(); }
} testDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates; } testDescription_suite_WorksheetTestSuite_test_cell_alternate_coordinates;
static class TestDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 117, "test_cell_insufficient_coordinates" ) {} TestDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 114, "test_cell_insufficient_coordinates" ) {}
void runTest() { suite_WorksheetTestSuite.test_cell_insufficient_coordinates(); } void runTest() { suite_WorksheetTestSuite.test_cell_insufficient_coordinates(); }
} testDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates; } testDescription_suite_WorksheetTestSuite_test_cell_insufficient_coordinates;
static class TestDescription_suite_WorksheetTestSuite_test_cell_range_name : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_cell_range_name : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_cell_range_name() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 123, "test_cell_range_name" ) {} TestDescription_suite_WorksheetTestSuite_test_cell_range_name() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 120, "test_cell_range_name" ) {}
void runTest() { suite_WorksheetTestSuite.test_cell_range_name(); } void runTest() { suite_WorksheetTestSuite.test_cell_range_name(); }
} testDescription_suite_WorksheetTestSuite_test_cell_range_name; } testDescription_suite_WorksheetTestSuite_test_cell_range_name;
static class TestDescription_suite_WorksheetTestSuite_test_garbage_collect : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_garbage_collect : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_garbage_collect() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 135, "test_garbage_collect" ) {} TestDescription_suite_WorksheetTestSuite_test_garbage_collect() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 132, "test_garbage_collect" ) {}
void runTest() { suite_WorksheetTestSuite.test_garbage_collect(); } void runTest() { suite_WorksheetTestSuite.test_garbage_collect(); }
} testDescription_suite_WorksheetTestSuite_test_garbage_collect; } testDescription_suite_WorksheetTestSuite_test_garbage_collect;
static class TestDescription_suite_WorksheetTestSuite_test_hyperlink_relationships : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_hyperlink_relationships : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_hyperlink_relationships() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 148, "test_hyperlink_relationships" ) {} TestDescription_suite_WorksheetTestSuite_test_hyperlink_relationships() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 145, "test_hyperlink_relationships" ) {}
void runTest() { suite_WorksheetTestSuite.test_hyperlink_relationships(); } void runTest() { suite_WorksheetTestSuite.test_hyperlink_relationships(); }
} testDescription_suite_WorksheetTestSuite_test_hyperlink_relationships; } testDescription_suite_WorksheetTestSuite_test_hyperlink_relationships;
static class TestDescription_suite_WorksheetTestSuite_test_bad_relationship_type : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_bad_relationship_type : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_bad_relationship_type() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 168, "test_bad_relationship_type" ) {} TestDescription_suite_WorksheetTestSuite_test_bad_relationship_type() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 165, "test_bad_relationship_type" ) {}
void runTest() { suite_WorksheetTestSuite.test_bad_relationship_type(); } void runTest() { suite_WorksheetTestSuite.test_bad_relationship_type(); }
} testDescription_suite_WorksheetTestSuite_test_bad_relationship_type; } testDescription_suite_WorksheetTestSuite_test_bad_relationship_type;
static class TestDescription_suite_WorksheetTestSuite_test_append_list : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_append_list : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_append_list() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 173, "test_append_list" ) {} TestDescription_suite_WorksheetTestSuite_test_append_list() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 170, "test_append_list" ) {}
void runTest() { suite_WorksheetTestSuite.test_append_list(); } void runTest() { suite_WorksheetTestSuite.test_append_list(); }
} testDescription_suite_WorksheetTestSuite_test_append_list; } testDescription_suite_WorksheetTestSuite_test_append_list;
static class TestDescription_suite_WorksheetTestSuite_test_append_dict_letter : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_append_dict_letter : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_append_dict_letter() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 183, "test_append_dict_letter" ) {} TestDescription_suite_WorksheetTestSuite_test_append_dict_letter() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 180, "test_append_dict_letter" ) {}
void runTest() { suite_WorksheetTestSuite.test_append_dict_letter(); } void runTest() { suite_WorksheetTestSuite.test_append_dict_letter(); }
} testDescription_suite_WorksheetTestSuite_test_append_dict_letter; } testDescription_suite_WorksheetTestSuite_test_append_dict_letter;
static class TestDescription_suite_WorksheetTestSuite_test_append_dict_index : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_append_dict_index : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_append_dict_index() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 193, "test_append_dict_index" ) {} TestDescription_suite_WorksheetTestSuite_test_append_dict_index() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 190, "test_append_dict_index" ) {}
void runTest() { suite_WorksheetTestSuite.test_append_dict_index(); } void runTest() { suite_WorksheetTestSuite.test_append_dict_index(); }
} testDescription_suite_WorksheetTestSuite_test_append_dict_index; } testDescription_suite_WorksheetTestSuite_test_append_dict_index;
static class TestDescription_suite_WorksheetTestSuite_test_bad_append : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_bad_append : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_bad_append() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 203, "test_bad_append" ) {} TestDescription_suite_WorksheetTestSuite_test_bad_append() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 200, "test_bad_append" ) {}
void runTest() { suite_WorksheetTestSuite.test_bad_append(); } void runTest() { suite_WorksheetTestSuite.test_bad_append(); }
} testDescription_suite_WorksheetTestSuite_test_bad_append; } testDescription_suite_WorksheetTestSuite_test_bad_append;
static class TestDescription_suite_WorksheetTestSuite_test_append_2d_list : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_append_2d_list : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_append_2d_list() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 209, "test_append_2d_list" ) {} TestDescription_suite_WorksheetTestSuite_test_append_2d_list() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 206, "test_append_2d_list" ) {}
void runTest() { suite_WorksheetTestSuite.test_append_2d_list(); } void runTest() { suite_WorksheetTestSuite.test_append_2d_list(); }
} testDescription_suite_WorksheetTestSuite_test_append_2d_list; } testDescription_suite_WorksheetTestSuite_test_append_2d_list;
static class TestDescription_suite_WorksheetTestSuite_test_rows : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_rows : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_rows() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 222, "test_rows" ) {} TestDescription_suite_WorksheetTestSuite_test_rows() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 219, "test_rows" ) {}
void runTest() { suite_WorksheetTestSuite.test_rows(); } void runTest() { suite_WorksheetTestSuite.test_rows(); }
} testDescription_suite_WorksheetTestSuite_test_rows; } testDescription_suite_WorksheetTestSuite_test_rows;
static class TestDescription_suite_WorksheetTestSuite_test_cols : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_cols : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_cols() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 237, "test_cols" ) {} TestDescription_suite_WorksheetTestSuite_test_cols() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 234, "test_cols" ) {}
void runTest() { suite_WorksheetTestSuite.test_cols(); } void runTest() { suite_WorksheetTestSuite.test_cols(); }
} testDescription_suite_WorksheetTestSuite_test_cols; } testDescription_suite_WorksheetTestSuite_test_cols;
static class TestDescription_suite_WorksheetTestSuite_test_auto_filter : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_auto_filter : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_auto_filter() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 252, "test_auto_filter" ) {} TestDescription_suite_WorksheetTestSuite_test_auto_filter() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 249, "test_auto_filter" ) {}
void runTest() { suite_WorksheetTestSuite.test_auto_filter(); } void runTest() { suite_WorksheetTestSuite.test_auto_filter(); }
} testDescription_suite_WorksheetTestSuite_test_auto_filter; } testDescription_suite_WorksheetTestSuite_test_auto_filter;
static class TestDescription_suite_WorksheetTestSuite_test_page_margins : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_page_margins : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_page_margins() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 265, "test_page_margins" ) {} TestDescription_suite_WorksheetTestSuite_test_page_margins() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 262, "test_page_margins" ) {}
void runTest() { suite_WorksheetTestSuite.test_page_margins(); } void runTest() { suite_WorksheetTestSuite.test_page_margins(); }
} testDescription_suite_WorksheetTestSuite_test_page_margins; } testDescription_suite_WorksheetTestSuite_test_page_margins;
static class TestDescription_suite_WorksheetTestSuite_test_merge : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_merge : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_merge() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 282, "test_merge" ) {} TestDescription_suite_WorksheetTestSuite_test_merge() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 279, "test_merge" ) {}
void runTest() { suite_WorksheetTestSuite.test_merge(); } void runTest() { suite_WorksheetTestSuite.test_merge(); }
} testDescription_suite_WorksheetTestSuite_test_merge; } testDescription_suite_WorksheetTestSuite_test_merge;
static class TestDescription_suite_WorksheetTestSuite_test_freeze : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_freeze : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_freeze() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 302, "test_freeze" ) {} TestDescription_suite_WorksheetTestSuite_test_freeze() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 299, "test_freeze" ) {}
void runTest() { suite_WorksheetTestSuite.test_freeze(); } void runTest() { suite_WorksheetTestSuite.test_freeze(); }
} testDescription_suite_WorksheetTestSuite_test_freeze; } testDescription_suite_WorksheetTestSuite_test_freeze;
static class TestDescription_suite_WorksheetTestSuite_test_printer_settings : public CxxTest::RealTestDescription { static class TestDescription_suite_WorksheetTestSuite_test_printer_settings : public CxxTest::RealTestDescription {
public: public:
TestDescription_suite_WorksheetTestSuite_test_printer_settings() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 318, "test_printer_settings" ) {} TestDescription_suite_WorksheetTestSuite_test_printer_settings() : CxxTest::RealTestDescription( Tests_WorksheetTestSuite, suiteDescription_WorksheetTestSuite, 315, "test_printer_settings" ) {}
void runTest() { suite_WorksheetTestSuite.test_printer_settings(); } void runTest() { suite_WorksheetTestSuite.test_printer_settings(); }
} testDescription_suite_WorksheetTestSuite_test_printer_settings; } testDescription_suite_WorksheetTestSuite_test_printer_settings;
#include "/Users/thomas/Development/xlnt/source/tests/WriteTestSuite.h" #include "C:\Users\taf656\Development\xlnt\source\tests\WriteTestSuite.h"
static WriteTestSuite suite_WriteTestSuite; static WriteTestSuite suite_WriteTestSuite;

View File

@ -2,6 +2,7 @@
#include <array> #include <array>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include <locale>
#include <sstream> #include <sstream>
#include "xlnt.h" #include "xlnt.h"
@ -19,35 +20,296 @@ public:
} }
}; };
const std::array<unsigned char, 3086> existing_xlsx = {
0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
0x21, 0x00, 0xf8, 0x17, 0x86, 0x86, 0x7a, 0x01, 0x00, 0x00, 0x10, 0x03,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x64, 0x6f, 0x63, 0x50, 0x72, 0x6f,
0x70, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2e, 0x78, 0x6d, 0x6c, 0x9d, 0x92,
0x41, 0x6f, 0xdb, 0x30, 0x0c, 0x85, 0xef, 0x03, 0xf6, 0x1f, 0x0c, 0xdd,
0x1b, 0x39, 0x5d, 0x31, 0x0c, 0x81, 0xac, 0xa2, 0x48, 0x3b, 0xf4, 0xb0,
0x61, 0x01, 0x92, 0x76, 0x67, 0x4e, 0xa6, 0x63, 0xa1, 0xb2, 0x24, 0x88,
0xac, 0x91, 0xec, 0xd7, 0x4f, 0x76, 0x10, 0xd7, 0x59, 0x77, 0xda, 0xed,
0x91, 0x7c, 0x78, 0xfe, 0x4c, 0x4a, 0xdd, 0x1e, 0x3a, 0x57, 0xf4, 0x98,
0xc8, 0x06, 0x5f, 0x89, 0xe5, 0xa2, 0x14, 0x05, 0x7a, 0x13, 0x6a, 0xeb,
0xf7, 0x95, 0x78, 0xda, 0x7d, 0xbd, 0xfa, 0x22, 0x0a, 0x62, 0xf0, 0x35,
0xb8, 0xe0, 0xb1, 0x12, 0x47, 0x24, 0x71, 0xab, 0x3f, 0x7e, 0x50, 0x9b,
0x14, 0x22, 0x26, 0xb6, 0x48, 0x45, 0x8e, 0xf0, 0x54, 0x89, 0x96, 0x39,
0xae, 0xa4, 0x24, 0xd3, 0x62, 0x07, 0xb4, 0xc8, 0x63, 0x9f, 0x27, 0x4d,
0x48, 0x1d, 0x70, 0x2e, 0xd3, 0x5e, 0x86, 0xa6, 0xb1, 0x06, 0xef, 0x83,
0x79, 0xed, 0xd0, 0xb3, 0xbc, 0x2e, 0xcb, 0xcf, 0x12, 0x0f, 0x8c, 0xbe,
0xc6, 0xfa, 0x2a, 0x4e, 0x81, 0xe2, 0x94, 0xb8, 0xea, 0xf9, 0x7f, 0x43,
0xeb, 0x60, 0x06, 0x3e, 0x7a, 0xde, 0x1d, 0x63, 0xce, 0xd3, 0xea, 0x2e,
0x46, 0x67, 0x0d, 0x70, 0xfe, 0x4b, 0xfd, 0xdd, 0x9a, 0x14, 0x28, 0x34,
0x5c, 0x3c, 0x1c, 0x0c, 0x3a, 0x25, 0xe7, 0x43, 0x95, 0x83, 0xb6, 0x68,
0x5e, 0x93, 0xe5, 0xa3, 0x2e, 0x95, 0x9c, 0x97, 0x6a, 0x6b, 0xc0, 0xe1,
0x3a, 0x07, 0xeb, 0x06, 0x1c, 0xa1, 0x92, 0x6f, 0x0d, 0xf5, 0x88, 0x30,
0x2c, 0x6d, 0x03, 0x36, 0x91, 0x56, 0x3d, 0xaf, 0x7a, 0x34, 0x1c, 0x52,
0x41, 0xf6, 0x77, 0x5e, 0xdb, 0xb5, 0x28, 0x7e, 0x01, 0xe1, 0x80, 0x53,
0x89, 0x1e, 0x92, 0x05, 0xcf, 0xe2, 0x64, 0x3b, 0x15, 0xa3, 0x76, 0x91,
0x38, 0xe9, 0x9f, 0x21, 0xbd, 0x50, 0x8b, 0xc8, 0xa4, 0xe4, 0xd4, 0x1c,
0xe5, 0xdc, 0x3b, 0xd7, 0xf6, 0x46, 0x2f, 0x47, 0x43, 0x16, 0x97, 0x46,
0x39, 0x81, 0x64, 0x7d, 0x89, 0xb8, 0xb3, 0xec, 0x90, 0x7e, 0x34, 0x1b,
0x48, 0xfc, 0x0f, 0xe2, 0xe5, 0x9c, 0x78, 0x64, 0x10, 0x33, 0xc6, 0x91,
0xef, 0x1d, 0xde, 0xf9, 0x43, 0x7f, 0x45, 0xaf, 0x43, 0x17, 0xc1, 0xe7,
0xfd, 0xc9, 0x49, 0x7d, 0xb3, 0xfe, 0x85, 0x9e, 0xe2, 0x2e, 0xdc, 0x03,
0xe3, 0x79, 0x9b, 0x97, 0x4d, 0xb5, 0x6d, 0x21, 0x61, 0x9d, 0x0f, 0x30,
0x6d, 0x7b, 0x6a, 0xa8, 0xc7, 0x8c, 0x95, 0xdc, 0xe0, 0x5f, 0xb7, 0xe0,
0xf7, 0x58, 0x9f, 0x3d, 0xef, 0x07, 0xc3, 0xed, 0x9f, 0x4f, 0x0f, 0x5c,
0x2f, 0x6f, 0x16, 0xe5, 0xa7, 0xb2, 0x1c, 0x4f, 0x7e, 0xee, 0x29, 0xf9,
0xf6, 0x94, 0xf5, 0x1f, 0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xa2, 0xc0, 0x5e, 0x9a, 0x32, 0x01,
0x00, 0x00, 0x51, 0x02, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x64, 0x6f,
0x63, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e,
0x78, 0x6d, 0x6c, 0x7d, 0x92, 0x5f, 0x6b, 0xc3, 0x20, 0x14, 0xc5, 0xdf,
0x07, 0xfb, 0x0e, 0xc1, 0xf7, 0x44, 0xed, 0x3f, 0x36, 0x49, 0x52, 0xd8,
0x46, 0x9f, 0x56, 0x18, 0x2c, 0xa3, 0x63, 0x6f, 0xa2, 0xb7, 0xad, 0x2c,
0x1a, 0x51, 0xb7, 0xb4, 0xdf, 0x7e, 0x26, 0x6d, 0xd3, 0x16, 0xca, 0xc0,
0x17, 0x3d, 0xe7, 0xfe, 0xee, 0xb9, 0x17, 0xf3, 0xf9, 0x4e, 0xd7, 0xc9,
0x2f, 0x38, 0xaf, 0x1a, 0x53, 0x20, 0x9a, 0x11, 0x94, 0x80, 0x11, 0x8d,
0x54, 0x66, 0x53, 0xa0, 0x8f, 0x6a, 0x91, 0x3e, 0xa0, 0xc4, 0x07, 0x6e,
0x24, 0xaf, 0x1b, 0x03, 0x05, 0xda, 0x83, 0x47, 0xf3, 0xf2, 0xfe, 0x2e,
0x17, 0x96, 0x89, 0xc6, 0xc1, 0x9b, 0x6b, 0x2c, 0xb8, 0xa0, 0xc0, 0x27,
0x91, 0x64, 0x3c, 0x13, 0xb6, 0x40, 0xdb, 0x10, 0x2c, 0xc3, 0xd8, 0x8b,
0x2d, 0x68, 0xee, 0xb3, 0xe8, 0x30, 0x51, 0x5c, 0x37, 0x4e, 0xf3, 0x10,
0xaf, 0x6e, 0x83, 0x2d, 0x17, 0xdf, 0x7c, 0x03, 0x78, 0x44, 0xc8, 0x0c,
0x6b, 0x08, 0x5c, 0xf2, 0xc0, 0x71, 0x07, 0x4c, 0xed, 0x40, 0x44, 0x47,
0xa4, 0x14, 0x03, 0xd2, 0xfe, 0xb8, 0xba, 0x07, 0x48, 0x81, 0xa1, 0x06,
0x0d, 0x26, 0x78, 0x4c, 0x33, 0x8a, 0xcf, 0xde, 0x00, 0x4e, 0xfb, 0x9b,
0x05, 0xbd, 0x72, 0xe1, 0xd4, 0x2a, 0xec, 0x2d, 0xdc, 0xb4, 0x9e, 0xc4,
0xc1, 0xbd, 0xf3, 0x6a, 0x30, 0xb6, 0x6d, 0x9b, 0xb5, 0xe3, 0xde, 0x1a,
0xf3, 0x53, 0xfc, 0xb9, 0x7c, 0x7d, 0xef, 0x47, 0x4d, 0x95, 0xe9, 0x76,
0x25, 0x00, 0x95, 0xb9, 0x14, 0x4c, 0x38, 0xe0, 0xa1, 0x71, 0x65, 0x8e,
0x2f, 0x2f, 0x71, 0x71, 0x35, 0xf7, 0x61, 0x19, 0x77, 0xbc, 0x56, 0x20,
0x9f, 0xf6, 0x51, 0xbf, 0xf1, 0x76, 0x1c, 0xe4, 0x50, 0x07, 0x32, 0x89,
0x01, 0xd8, 0x21, 0xee, 0x49, 0x59, 0x8d, 0x9f, 0x5f, 0xaa, 0x05, 0x2a,
0xbb, 0x1d, 0xa6, 0xe4, 0x31, 0xa5, 0xb3, 0x8a, 0x10, 0xd6, 0x9f, 0xaf,
0xae, 0xe5, 0x55, 0xfd, 0x19, 0xa8, 0x8f, 0x4d, 0xfe, 0x25, 0xd2, 0x49,
0x4a, 0xa6, 0x29, 0x1d, 0x55, 0x74, 0xc2, 0xa6, 0x33, 0x46, 0xa7, 0x17,
0xc4, 0x13, 0xe0, 0x90, 0xfb, 0xfa, 0x13, 0x94, 0x7f, 0x50, 0x4b, 0x03,
0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x57, 0xac, 0x44, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
0x00, 0x00, 0x00, 0x78, 0x6c, 0x2f, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x2f,
0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x4d, 0x57,
0xac, 0x44, 0xc4, 0x41, 0xfb, 0x70, 0xb7, 0x00, 0x00, 0x00, 0x2c, 0x01,
0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x78, 0x6c, 0x2f, 0x5f, 0x72, 0x65,
0x6c, 0x73, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x6f, 0x6f, 0x6b, 0x2e,
0x78, 0x6d, 0x6c, 0x2e, 0x72, 0x65, 0x6c, 0x73, 0x8d, 0xcf, 0xcd, 0x0a,
0xc2, 0x30, 0x0c, 0x07, 0xf0, 0xbb, 0xe0, 0x3b, 0x94, 0xdc, 0x5d, 0x36,
0x0f, 0x22, 0xb2, 0x6e, 0x17, 0x11, 0x76, 0x95, 0xf9, 0x00, 0xa5, 0xcb,
0x3e, 0xd8, 0xd6, 0x96, 0xa6, 0x7e, 0xec, 0xed, 0x2d, 0x1e, 0x44, 0xc1,
0x83, 0xa7, 0x90, 0x84, 0xfc, 0xc2, 0x3f, 0x2f, 0x1f, 0xf3, 0x24, 0x6e,
0xe4, 0x79, 0xb0, 0x46, 0x42, 0x96, 0xa4, 0x20, 0xc8, 0x68, 0xdb, 0x0c,
0xa6, 0x93, 0x70, 0xa9, 0x4f, 0x9b, 0x3d, 0x08, 0x0e, 0xca, 0x34, 0x6a,
0xb2, 0x86, 0x24, 0x2c, 0xc4, 0x50, 0x16, 0xeb, 0x55, 0x7e, 0xa6, 0x49,
0x85, 0x78, 0xc4, 0xfd, 0xe0, 0x58, 0x44, 0xc5, 0xb0, 0x84, 0x3e, 0x04,
0x77, 0x40, 0x64, 0xdd, 0xd3, 0xac, 0x38, 0xb1, 0x8e, 0x4c, 0xdc, 0xb4,
0xd6, 0xcf, 0x2a, 0xc4, 0xd6, 0x77, 0xe8, 0x94, 0x1e, 0x55, 0x47, 0xb8,
0x4d, 0xd3, 0x1d, 0xfa, 0x4f, 0x03, 0x8a, 0x2f, 0x53, 0x54, 0x8d, 0x04,
0x5f, 0x35, 0x19, 0x88, 0x7a, 0x71, 0xf4, 0x8f, 0x6d, 0xdb, 0x76, 0xd0,
0x74, 0xb4, 0xfa, 0x3a, 0x93, 0x09, 0x3f, 0x5e, 0xe0, 0xdd, 0xfa, 0x91,
0x7b, 0xa2, 0x10, 0x51, 0xe5, 0x3b, 0x0a, 0x12, 0xde, 0x23, 0xc6, 0x57,
0xc9, 0x92, 0xa8, 0x02, 0x16, 0x39, 0x7e, 0x25, 0x8c, 0x91, 0x9f, 0x50,
0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21,
0x00, 0x2c, 0x65, 0xe1, 0xa5, 0x48, 0x01, 0x00, 0x00, 0x26, 0x02, 0x00,
0x00, 0x0f, 0x00, 0x00, 0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72, 0x6b,
0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x78, 0x6d, 0x6c, 0x8d, 0x91, 0xc1, 0x4e,
0xc3, 0x30, 0x0c, 0x86, 0xef, 0x48, 0xbc, 0x43, 0xe4, 0x3b, 0x6b, 0x9b,
0x95, 0x69, 0x4c, 0x6b, 0x27, 0x21, 0x40, 0xec, 0x82, 0x76, 0x18, 0xec,
0x1c, 0x1a, 0x77, 0x8d, 0x96, 0x26, 0x55, 0x92, 0xae, 0xdb, 0xdb, 0xe3,
0xb6, 0x2a, 0xe3, 0xc8, 0xc9, 0xfe, 0x9d, 0xf8, 0xcb, 0x6f, 0x67, 0xbd,
0xb9, 0xd4, 0x9a, 0x9d, 0xd1, 0x79, 0x65, 0x4d, 0x06, 0xc9, 0x2c, 0x06,
0x86, 0xa6, 0xb0, 0x52, 0x99, 0x63, 0x06, 0x9f, 0xfb, 0xb7, 0x87, 0x25,
0x30, 0x1f, 0x84, 0x91, 0x42, 0x5b, 0x83, 0x19, 0x5c, 0xd1, 0xc3, 0x26,
0xbf, 0xbf, 0x5b, 0x77, 0xd6, 0x9d, 0xbe, 0xad, 0x3d, 0x31, 0x02, 0x18,
0x9f, 0x41, 0x15, 0x42, 0xb3, 0x8a, 0x22, 0x5f, 0x54, 0x58, 0x0b, 0x3f,
0xb3, 0x0d, 0x1a, 0x3a, 0x29, 0xad, 0xab, 0x45, 0x20, 0xe9, 0x8e, 0x91,
0x6f, 0x1c, 0x0a, 0xe9, 0x2b, 0xc4, 0x50, 0xeb, 0x88, 0xc7, 0xf1, 0x22,
0xaa, 0x85, 0x32, 0x30, 0x12, 0x56, 0xee, 0x3f, 0x0c, 0x5b, 0x96, 0xaa,
0xc0, 0x17, 0x5b, 0xb4, 0x35, 0x9a, 0x30, 0x42, 0x1c, 0x6a, 0x11, 0xc8,
0xbe, 0xaf, 0x54, 0xe3, 0x21, 0x5f, 0x97, 0x4a, 0xe3, 0xd7, 0x38, 0x11,
0x13, 0x4d, 0xf3, 0x21, 0x6a, 0xf2, 0x7d, 0xd1, 0xc0, 0xb4, 0xf0, 0xe1,
0x55, 0xaa, 0x80, 0x32, 0x83, 0x47, 0x92, 0xb6, 0xc3, 0x5b, 0x21, 0x05,
0xe6, 0xda, 0xe6, 0xb9, 0x55, 0x9a, 0xc4, 0xd3, 0x3c, 0x9e, 0x43, 0x94,
0xff, 0x0e, 0xb9, 0x73, 0x8c, 0xa8, 0x01, 0xdd, 0xce, 0xa9, 0xb3, 0x28,
0xae, 0xb4, 0x29, 0x60, 0x12, 0x4b, 0xd1, 0xea, 0xb0, 0x27, 0xb3, 0xd3,
0x7b, 0x54, 0xe7, 0x29, 0xe7, 0x8b, 0xbe, 0xb7, 0xef, 0xfb, 0x52, 0xd8,
0xf9, 0x1b, 0xa6, 0x97, 0xec, 0x72, 0x50, 0x46, 0xda, 0x2e, 0x03, 0x9e,
0xd2, 0xb2, 0xaf, 0x93, 0x4a, 0x62, 0xb2, 0xd4, 0x0d, 0xe2, 0xa0, 0x64,
0xa8, 0xa8, 0x92, 0x2e, 0x6f, 0xb5, 0x77, 0x54, 0xc7, 0x2a, 0x64, 0xb0,
0x8c, 0x93, 0xb8, 0xa7, 0x47, 0x7f, 0xf0, 0xc3, 0x4a, 0xa7, 0xc8, 0xcc,
0x30, 0xef, 0x90, 0xd3, 0xd7, 0xf5, 0x61, 0x2b, 0x07, 0xbf, 0x6e, 0xa5,
0x28, 0x71, 0x5b, 0x99, 0x0c, 0x80, 0xa9, 0xab, 0x10, 0xba, 0xa0, 0xf9,
0xfa, 0x30, 0x5c, 0xe4, 0x9c, 0x27, 0xe3, 0x8d, 0xc9, 0x76, 0xfe, 0x03,
0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x57,
0xac, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72,
0x6b, 0x73, 0x68, 0x65, 0x65, 0x74, 0x73, 0x2f, 0x50, 0x4b, 0x03, 0x04,
0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xe6, 0x55,
0xa8, 0xe3, 0x5d, 0x01, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x18, 0x00,
0x00, 0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x65,
0x65, 0x74, 0x73, 0x2f, 0x73, 0x68, 0x65, 0x65, 0x74, 0x31, 0x2e, 0x78,
0x6d, 0x6c, 0x8d, 0x92, 0x4f, 0x6b, 0x02, 0x31, 0x10, 0xc5, 0xef, 0x85,
0x7e, 0x87, 0x90, 0xbb, 0x46, 0x6d, 0x6d, 0xab, 0xb8, 0x4a, 0x41, 0xa4,
0x1e, 0x0a, 0xa5, 0xff, 0xee, 0xd9, 0xec, 0xec, 0x6e, 0x30, 0xc9, 0x2c,
0xc9, 0x58, 0xf5, 0xdb, 0x77, 0x76, 0xad, 0x52, 0xf0, 0xe2, 0x6d, 0x5e,
0x26, 0xf3, 0xe3, 0xbd, 0x49, 0x66, 0x8b, 0xbd, 0x77, 0xe2, 0x07, 0x62,
0xb2, 0x18, 0x32, 0x39, 0xec, 0x0f, 0xa4, 0x80, 0x60, 0xb0, 0xb0, 0xa1,
0xca, 0xe4, 0xd7, 0xe7, 0xaa, 0xf7, 0x24, 0x45, 0x22, 0x1d, 0x0a, 0xed,
0x30, 0x40, 0x26, 0x0f, 0x90, 0xe4, 0x62, 0x7e, 0x7b, 0x33, 0xdb, 0x61,
0xdc, 0xa4, 0x1a, 0x80, 0x04, 0x13, 0x42, 0xca, 0x64, 0x4d, 0xd4, 0x4c,
0x95, 0x4a, 0xa6, 0x06, 0xaf, 0x53, 0x1f, 0x1b, 0x08, 0xdc, 0x29, 0x31,
0x7a, 0x4d, 0x2c, 0x63, 0xa5, 0x52, 0x13, 0x41, 0x17, 0xdd, 0x90, 0x77,
0x6a, 0x34, 0x18, 0x3c, 0x28, 0xaf, 0x6d, 0x90, 0x47, 0xc2, 0x34, 0x5e,
0xc3, 0xc0, 0xb2, 0xb4, 0x06, 0x96, 0x68, 0xb6, 0x1e, 0x02, 0x1d, 0x21,
0x11, 0x9c, 0x26, 0xf6, 0x9f, 0x6a, 0xdb, 0xa4, 0x13, 0xcd, 0x9b, 0x6b,
0x70, 0x5e, 0xc7, 0xcd, 0xb6, 0xe9, 0x19, 0xf4, 0x0d, 0x23, 0x72, 0xeb,
0x2c, 0x1d, 0x3a, 0xa8, 0x14, 0xde, 0x4c, 0xd7, 0x55, 0xc0, 0xa8, 0x73,
0xc7, 0xb9, 0xf7, 0xc3, 0x7b, 0x6d, 0x4e, 0xec, 0x4e, 0x5c, 0xe0, 0xbd,
0x35, 0x11, 0x13, 0x96, 0xd4, 0x67, 0xdc, 0x9f, 0xd1, 0xcb, 0xcc, 0x13,
0x35, 0x51, 0x4c, 0x9a, 0xcf, 0x0a, 0xcb, 0x09, 0xda, 0xb5, 0x8b, 0x08,
0x65, 0x26, 0x9f, 0x87, 0x52, 0xcd, 0x67, 0xdd, 0xc5, 0x6f, 0x0b, 0xbb,
0xf4, 0xaf, 0x16, 0xa4, 0xf3, 0x0f, 0x70, 0x60, 0x08, 0x0a, 0x7e, 0x23,
0x29, 0xda, 0xdd, 0xe7, 0x88, 0x9b, 0xb6, 0xb9, 0xe6, 0xa3, 0x41, 0x3b,
0xaa, 0x2e, 0x66, 0x57, 0x5d, 0xd0, 0xb7, 0x28, 0x0a, 0x28, 0xf5, 0xd6,
0xd1, 0x3b, 0xee, 0x5e, 0xc0, 0x56, 0x35, 0x31, 0x64, 0xcc, 0x59, 0xda,
0x14, 0xd3, 0xe2, 0xb0, 0x84, 0x64, 0x78, 0x97, 0x8c, 0xe9, 0x8f, 0xc6,
0x67, 0x13, 0x4b, 0x4d, 0x9a, 0xeb, 0x46, 0x57, 0xf0, 0xaa, 0x63, 0x65,
0x43, 0x12, 0x0e, 0xca, 0xee, 0xd6, 0xa3, 0x14, 0xf1, 0x88, 0xe9, 0x6a,
0xc2, 0xa6, 0xab, 0x18, 0x99, 0x23, 0x11, 0xfa, 0x93, 0xaa, 0x39, 0x39,
0xc4, 0x56, 0xdd, 0x49, 0x51, 0x22, 0xd2, 0x49, 0xb4, 0x6e, 0xcf, 0xff,
0x67, 0xfe, 0x0b, 0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08,
0x00, 0x65, 0x57, 0xac, 0x44, 0xba, 0x83, 0x84, 0x3d, 0x2a, 0x01, 0x00,
0x00, 0x1f, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5b, 0x43, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5d,
0x2e, 0x78, 0x6d, 0x6c, 0xad, 0x92, 0xcd, 0x6e, 0xc2, 0x30, 0x10, 0x84,
0xef, 0x95, 0xfa, 0x0e, 0x96, 0xaf, 0x28, 0x36, 0xf4, 0x50, 0x55, 0x15,
0x81, 0x43, 0x7f, 0x8e, 0x2d, 0x07, 0xfa, 0x00, 0xae, 0xbd, 0x49, 0x2c,
0xfc, 0x27, 0xaf, 0xa1, 0xf0, 0xf6, 0xdd, 0x04, 0xda, 0x03, 0xa2, 0xb4,
0x48, 0x3d, 0x59, 0xc9, 0xce, 0xcc, 0x37, 0x89, 0x77, 0x3a, 0xdf, 0x7a,
0xc7, 0x36, 0x90, 0xd1, 0xc6, 0x50, 0xf3, 0x89, 0x18, 0x73, 0x06, 0x41,
0x47, 0x63, 0x43, 0x5b, 0xf3, 0xb7, 0xe5, 0x73, 0x75, 0xc7, 0x19, 0x16,
0x15, 0x8c, 0x72, 0x31, 0x40, 0xcd, 0x77, 0x80, 0x7c, 0x3e, 0xbb, 0xbe,
0x9a, 0x2e, 0x77, 0x09, 0x90, 0x91, 0x3b, 0x60, 0xcd, 0xbb, 0x52, 0xd2,
0xbd, 0x94, 0xa8, 0x3b, 0xf0, 0x0a, 0x45, 0x4c, 0x10, 0x68, 0xd2, 0xc4,
0xec, 0x55, 0xa1, 0xc7, 0xdc, 0xca, 0xa4, 0xf4, 0x4a, 0xb5, 0x20, 0x6f,
0xc6, 0xe3, 0x5b, 0xa9, 0x63, 0x28, 0x10, 0x4a, 0x55, 0xfa, 0x0c, 0x3e,
0x9b, 0x3e, 0x42, 0xa3, 0xd6, 0xae, 0xb0, 0xa7, 0x2d, 0xbd, 0xde, 0x37,
0xc9, 0xe0, 0x90, 0xb3, 0x87, 0xbd, 0xb0, 0x67, 0xd5, 0x5c, 0xa5, 0xe4,
0xac, 0x56, 0x85, 0xe6, 0x72, 0x13, 0xcc, 0x11, 0xa5, 0x3a, 0x10, 0x04,
0x39, 0x07, 0x0d, 0x76, 0x36, 0xe1, 0x88, 0x04, 0x5c, 0x9e, 0x24, 0xf4,
0x93, 0x9f, 0x01, 0x07, 0xdf, 0x2b, 0xfd, 0x9a, 0x6c, 0x0d, 0xb0, 0x85,
0xca, 0xe5, 0x45, 0x79, 0x52, 0xc9, 0xad, 0x93, 0x1f, 0x31, 0xaf, 0xde,
0x63, 0x5c, 0x89, 0xf3, 0x21, 0x27, 0x5a, 0xc6, 0xa6, 0xb1, 0x1a, 0x4c,
0xd4, 0x6b, 0x4f, 0x16, 0x81, 0x29, 0x83, 0x32, 0xd8, 0x01, 0x14, 0xef,
0xc4, 0x70, 0x0a, 0xaf, 0x6c, 0x18, 0xfd, 0xce, 0x1f, 0xc4, 0x28, 0x87,
0x63, 0xf2, 0xcf, 0x45, 0xbe, 0xf3, 0xcf, 0xf5, 0x20, 0xef, 0x22, 0xc7,
0x84, 0x74, 0x9d, 0x19, 0x2e, 0x2f, 0xf0, 0x75, 0x5f, 0xbd, 0xbb, 0x4a,
0x14, 0x04, 0xb9, 0x58, 0xc0, 0x3f, 0x11, 0x29, 0xfa, 0x72, 0xe0, 0xd1,
0x17, 0x43, 0xbf, 0x0a, 0x06, 0xcc, 0x09, 0xb6, 0x1c, 0x96, 0x9b, 0xb6,
0xfc, 0x13, 0x50, 0x4b, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00,
0x00, 0x00, 0x21, 0x00, 0xb5, 0x55, 0x30, 0x23, 0xec, 0x00, 0x00, 0x00,
0x4c, 0x02, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x5f, 0x72, 0x65, 0x6c,
0x73, 0x2f, 0x2e, 0x72, 0x65, 0x6c, 0x73, 0x8d, 0x92, 0xcd, 0x4e, 0xc3,
0x30, 0x0c, 0x80, 0xef, 0x48, 0xbc, 0x43, 0xe4, 0xfb, 0xea, 0x6e, 0x48,
0x08, 0xa1, 0xa5, 0xbb, 0x20, 0xa4, 0xdd, 0x10, 0x2a, 0x0f, 0x60, 0x12,
0xf7, 0x47, 0x6d, 0xe3, 0x28, 0x09, 0xd0, 0xbd, 0x3d, 0xe1, 0x80, 0xa0,
0xd2, 0x18, 0x3d, 0xc6, 0xb1, 0x3f, 0x7f, 0xb6, 0xbc, 0x3f, 0xcc, 0xd3,
0xa8, 0xde, 0x39, 0xc4, 0x5e, 0x9c, 0x86, 0x6d, 0x51, 0x82, 0x62, 0x67,
0xc4, 0xf6, 0xae, 0xd5, 0xf0, 0x52, 0x3f, 0x6e, 0xee, 0x40, 0xc5, 0x44,
0xce, 0xd2, 0x28, 0x8e, 0x35, 0x9c, 0x38, 0xc2, 0xa1, 0xba, 0xbe, 0xda,
0x3f, 0xf3, 0x48, 0x29, 0x17, 0xc5, 0xae, 0xf7, 0x51, 0x65, 0x8a, 0x8b,
0x1a, 0xba, 0x94, 0xfc, 0x3d, 0x62, 0x34, 0x1d, 0x4f, 0x14, 0x0b, 0xf1,
0xec, 0xf2, 0x4f, 0x23, 0x61, 0xa2, 0x94, 0x9f, 0xa1, 0x45, 0x4f, 0x66,
0xa0, 0x96, 0x71, 0x57, 0x96, 0xb7, 0x18, 0x7e, 0x33, 0xa0, 0x5a, 0x30,
0xd5, 0xd1, 0x6a, 0x08, 0x47, 0x7b, 0x03, 0xaa, 0x3e, 0x79, 0x5e, 0xc3,
0x96, 0xa6, 0xe9, 0x0d, 0x3f, 0x88, 0x79, 0x9b, 0xd8, 0xa5, 0x33, 0x2d,
0x90, 0xe7, 0xc4, 0xce, 0xb2, 0xdd, 0xf8, 0x90, 0xeb, 0x43, 0xea, 0xf3,
0x34, 0xaa, 0xa6, 0xd0, 0x72, 0xd2, 0x60, 0xc5, 0x3c, 0xe5, 0x70, 0x44,
0xf2, 0xbe, 0xc8, 0x68, 0xc0, 0xf3, 0x46, 0xbb, 0xf5, 0x46, 0x7f, 0x4f,
0x8b, 0x13, 0x27, 0xb2, 0x94, 0x08, 0x8d, 0x04, 0xbe, 0xec, 0xf3, 0x95,
0x71, 0x49, 0x68, 0xbb, 0x5e, 0xe8, 0xff, 0x15, 0x2d, 0x33, 0x7e, 0x6c,
0xe6, 0x11, 0x3f, 0x24, 0x0c, 0xaf, 0x22, 0xc3, 0xb7, 0x0b, 0x2e, 0x6e,
0xa0, 0xfa, 0x04, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xf8, 0x17, 0x86, 0x86, 0x7a,
0x01, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x64, 0x6f, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x2f, 0x61, 0x70,
0x70, 0x2e, 0x78, 0x6d, 0x6c, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14,
0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xa2, 0xc0, 0x5e,
0x9a, 0x32, 0x01, 0x00, 0x00, 0x51, 0x02, 0x00, 0x00, 0x11, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0xa8,
0x01, 0x00, 0x00, 0x64, 0x6f, 0x63, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x2f,
0x63, 0x6f, 0x72, 0x65, 0x2e, 0x78, 0x6d, 0x6c, 0x50, 0x4b, 0x01, 0x02,
0x14, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x57, 0xac, 0x44,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
0x00, 0x00, 0x09, 0x03, 0x00, 0x00, 0x78, 0x6c, 0x2f, 0x5f, 0x72, 0x65,
0x6c, 0x73, 0x2f, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00, 0x00,
0x00, 0x08, 0x00, 0x4d, 0x57, 0xac, 0x44, 0xc4, 0x41, 0xfb, 0x70, 0xb7,
0x00, 0x00, 0x00, 0x2c, 0x01, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x03, 0x00,
0x00, 0x78, 0x6c, 0x2f, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x2f, 0x77, 0x6f,
0x72, 0x6b, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x78, 0x6d, 0x6c, 0x2e, 0x72,
0x65, 0x6c, 0x73, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0x2c, 0x65, 0xe1, 0xa5, 0x48,
0x01, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1f, 0x04, 0x00,
0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x6f, 0x6f, 0x6b,
0x2e, 0x78, 0x6d, 0x6c, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00,
0x00, 0x00, 0x00, 0x00, 0x11, 0x57, 0xac, 0x44, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x94, 0x05,
0x00, 0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x65,
0x65, 0x74, 0x73, 0x2f, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00,
0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xe6, 0x55, 0xa8, 0xe3,
0x5d, 0x01, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0xc0, 0x05,
0x00, 0x00, 0x78, 0x6c, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x68, 0x65,
0x65, 0x74, 0x73, 0x2f, 0x73, 0x68, 0x65, 0x65, 0x74, 0x31, 0x2e, 0x78,
0x6d, 0x6c, 0x50, 0x4b, 0x01, 0x02, 0x14, 0x00, 0x14, 0x00, 0x00, 0x00,
0x08, 0x00, 0x65, 0x57, 0xac, 0x44, 0xba, 0x83, 0x84, 0x3d, 0x2a, 0x01,
0x00, 0x00, 0x1f, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x53, 0x07, 0x00, 0x00,
0x5b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x54, 0x79, 0x70,
0x65, 0x73, 0x5d, 0x2e, 0x78, 0x6d, 0x6c, 0x50, 0x4b, 0x01, 0x02, 0x14,
0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x21, 0x00, 0xb5,
0x55, 0x30, 0x23, 0xec, 0x00, 0x00, 0x00, 0x4c, 0x02, 0x00, 0x00, 0x0b,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00,
0x00, 0xae, 0x08, 0x00, 0x00, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x2f, 0x2e,
0x72, 0x65, 0x6c, 0x73, 0x50, 0x4b, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00,
0x09, 0x00, 0x09, 0x00, 0x35, 0x02, 0x00, 0x00, 0xc3, 0x09, 0x00, 0x00,
0x00, 0x00
};
} // namespace } // namespace
#ifdef _WIN32 #ifdef _WIN32
#include <Windows.h> #include <Windows.h>
#include <Shlwapi.h>
void file::copy(const std::string &source, const std::string &destination, bool overwrite) void file::copy(const std::string &source, const std::string &destination, bool overwrite)
{ {
assert(source.size() + 1 < MAX_PATH); assert(source.size() + 1 < MAX_PATH);
assert(destination.size() + 1 < MAX_PATH); assert(destination.size() + 1 < MAX_PATH);
std::wstring source_wide(source.begin(), source.end()); std::wstring source_wide(source.begin(), source.end());
std::wstring destination_wide(destination.begin(), destination.end()); std::wstring destination_wide(destination.begin(), destination.end());
BOOL result = CopyFile(source_wide.c_str(), destination_wide.c_str(), !overwrite); BOOL result = CopyFile(source_wide.c_str(), destination_wide.c_str(), !overwrite);
if(result == 0) if(result == 0)
{ {
DWORD error = GetLastError(); switch(GetLastError())
switch(GetLastError()) {
{ case ERROR_ACCESS_DENIED: throw std::runtime_error("Access is denied");
case ERROR_ACCESS_DENIED: throw std::runtime_error("Access is denied"); case ERROR_ENCRYPTION_FAILED: throw std::runtime_error("The specified file could not be encrypted");
case ERROR_ENCRYPTION_FAILED: throw std::runtime_error("The specified file could not be encrypted"); case ERROR_FILE_NOT_FOUND: throw std::runtime_error("The source file wasn't found");
case ERROR_FILE_NOT_FOUND: throw std::runtime_error("The source file wasn't found"); default:
default: if(!overwrite)
if(!overwrite) {
{ throw std::runtime_error("The destination file already exists");
throw std::runtime_error("The destination file already exists"); }
} throw std::runtime_error("Unknown error");
throw std::runtime_error("Unknown error"); }
}
} }
} }
@ -100,7 +362,8 @@ struct part_struct
: package_(package), : package_(package),
uri_(uri), uri_(uri),
container_(container) container_(container)
{} {
}
relationship create_relationship(const std::string &target_uri, target_mode target_mode, const std::string &relationship_type); relationship create_relationship(const std::string &target_uri, target_mode target_mode, const std::string &relationship_type);
@ -136,6 +399,12 @@ struct part_struct
auto name = uri_; auto name = uri_;
auto name_pointer = name.c_str(); auto name_pointer = name.c_str();
auto match = opcPartFind(container_, (xmlChar*)name_pointer, nullptr, 0);
if(match == nullptr)
{
match = opcPartCreate(container_, (xmlChar*)name_pointer, nullptr, 0);
}
auto part_stream = opcContainerCreateOutputStream(container_, (xmlChar*)name_pointer, opcCompressionOption_t::OPC_COMPRESSIONOPTION_NORMAL); auto part_stream = opcContainerCreateOutputStream(container_, (xmlChar*)name_pointer, opcCompressionOption_t::OPC_COMPRESSIONOPTION_NORMAL);
std::stringstream ss(data); std::stringstream ss(data);
@ -172,12 +441,6 @@ struct part_struct
opcContainer *container_; opcContainer *container_;
}; };
part::part(package_impl &package, const std::string &uri, opcContainer *container)
: root_(new part_struct(package, uri, container))
{
}
part::part(part_struct *root) : root_(root) part::part(part_struct *root) : root_(root)
{ {
@ -220,6 +483,8 @@ bool part::operator==(const std::nullptr_t &) const
struct package_impl struct package_impl
{ {
static const int BufferSize = 4096 * 4;
package *parent_; package *parent_;
opcContainer *opc_container_; opcContainer *opc_container_;
std::iostream &stream_; std::iostream &stream_;
@ -244,16 +509,16 @@ struct package_impl
: stream_(stream), : stream_(stream),
package_mode_(package_mode), package_mode_(package_mode),
package_access_(package_access), package_access_(package_access),
container_buffer_(4096) container_buffer_(BufferSize)
{ {
open_container();
} }
package_impl(const std::string &path, file_mode package_mode, file_access package_access) package_impl(const std::string &path, file_mode package_mode, file_access package_access)
: stream_(file_stream_), : stream_(file_stream_),
package_mode_(package_mode), package_mode_(package_mode),
package_access_(package_access), package_access_(package_access),
container_buffer_(4096) container_buffer_(BufferSize),
filename_(path)
{ {
switch(package_mode) switch(package_mode)
{ {
@ -265,22 +530,22 @@ struct package_impl
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::app | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::app | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
case file_mode::Create: case file_mode::Create:
switch(package_access) switch(package_access)
{ {
case file_access::Read: case file_access::Read:
file_stream_.open(path, std::ios::binary | std::ios::in); file_stream_.open(path, std::ios::binary | std::ios::in | std::ios::trunc);
break; break;
case file_access::ReadWrite: case file_access::ReadWrite:
file_stream_.open(path, std::ios::binary | std::ios::in | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::in | std::ios::out | std::ios::trunc);
break; break;
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
case file_mode::CreateNew: case file_mode::CreateNew:
@ -299,7 +564,7 @@ struct package_impl
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
case file_mode::Open: case file_mode::Open:
@ -318,7 +583,7 @@ struct package_impl
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
case file_mode::OpenOrCreate: case file_mode::OpenOrCreate:
@ -333,7 +598,7 @@ struct package_impl
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
case file_mode::Truncate: case file_mode::Truncate:
@ -352,16 +617,27 @@ struct package_impl
case file_access::Write: case file_access::Write:
file_stream_.open(path, std::ios::binary | std::ios::trunc | std::ios::out); file_stream_.open(path, std::ios::binary | std::ios::trunc | std::ios::out);
break; break;
default: throw std::runtime_error("invalid access"); default: throw std::runtime_error("invalid access");
} }
break; break;
} }
open_container(); if(!file_stream_)
{
throw std::runtime_error("something");
}
} }
void open_container() void open_container()
{ {
if(package_mode_ != file_mode::Open)
{
stream_.write((const char *)existing_xlsx.data(), existing_xlsx.size());
stream_.seekg(std::ios::beg);
stream_.seekp(std::ios::beg);
stream_.flush();
}
opcContainerOpenMode m; opcContainerOpenMode m;
switch(package_access_) switch(package_access_)
@ -381,8 +657,15 @@ struct package_impl
opc_container_ = opcContainerOpenIO(&read_callback, &write_callback, opc_container_ = opcContainerOpenIO(&read_callback, &write_callback,
&close_callback, &seek_callback, &close_callback, &seek_callback,
&trim_callback, &flush_callback, this, 4096, m, this); &trim_callback, &flush_callback, this, BufferSize, m, this);
open_ = true; open_ = true;
type_ = determine_type();
if(type_ != package::type::Excel)
{
throw std::runtime_error("only excel spreadsheets are supported for now");
}
} }
~package_impl() ~package_impl()
@ -390,11 +673,45 @@ struct package_impl
close(); close();
} }
package::type determine_type()
{
opcRelation rel = opcRelationFind(opc_container_, OPC_PART_INVALID, NULL, _X("http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"));
if(OPC_RELATION_INVALID != rel)
{
opcPart main = opcRelationGetInternalTarget(opc_container_, OPC_PART_INVALID, rel);
if(OPC_PART_INVALID != main)
{
const xmlChar *type = opcPartGetType(opc_container_, main);
if(0 == xmlStrcmp(type, _X("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")))
{
return package::type::Word;
}
else if(0 == xmlStrcmp(type, _X("application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")))
{
return package::type::Powerpoint;
}
else if(0 == xmlStrcmp(type, _X("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")))
{
return package::type::Excel;
}
}
}
return package::type::Zip;
}
void close() void close()
{ {
if(open_) if(open_)
{ {
open_ = false; open_ = false;
for(auto part : parts_)
{
delete part.second;
}
opcContainerClose(opc_container_, opcContainerCloseMode::OPC_CLOSE_NOW); opcContainerClose(opc_container_, opcContainerCloseMode::OPC_CLOSE_NOW);
opc_container_ = nullptr; opc_container_ = nullptr;
} }
@ -402,7 +719,11 @@ struct package_impl
part create_part(const std::string &part_uri, const std::string &/*content_type*/, compression_option /*compression*/) part create_part(const std::string &part_uri, const std::string &/*content_type*/, compression_option /*compression*/)
{ {
return part(new part_struct(*this, part_uri, opc_container_)); if(parts_.find(part_uri) == parts_.end())
{
parts_[part_uri] = new part_struct(*this, part_uri, opc_container_);
}
return part(parts_[part_uri]);
} }
void delete_part(const std::string &/*part_uri*/) void delete_part(const std::string &/*part_uri*/)
@ -417,7 +738,11 @@ struct package_impl
part get_part(const std::string &part_uri) part get_part(const std::string &part_uri)
{ {
return part(*this, part_uri, opc_container_); if(parts_.find(part_uri) == parts_.end())
{
parts_[part_uri] = new part_struct(*this, part_uri, opc_container_);
}
return part(parts_[part_uri]);
} }
part_collection get_parts() part_collection get_parts()
@ -460,8 +785,18 @@ struct package_impl
return current_position; return current_position;
} }
int trim(std::ios::pos_type /*new_size*/) int trim(std::ios::pos_type new_size)
{ {
file_stream_.flush();
std::vector<char> buffer(new_size);
auto current_position = stream_.tellg();
seek(std::ios::beg);
write(buffer.data(), (int)new_size);
file_stream_.close();
file_stream_.open(filename_, std::ios::trunc | std::ios::out | std::ios::binary | std::ios::in);
file_stream_.write(buffer.data(), new_size);
seek(current_position);
return 0; return 0;
} }
@ -502,6 +837,10 @@ struct package_impl
object->flush(); object->flush();
return 0; return 0;
} }
std::unordered_map<std::string, part_struct *> parts_;
package::type type_;
std::string filename_;
}; };
file_access package::get_file_open_access() const file_access package::get_file_open_access() const
@ -509,26 +848,42 @@ file_access package::get_file_open_access() const
return impl_->get_file_open_access(); return impl_->get_file_open_access();
} }
package package::open(std::iostream &stream, file_mode package_mode, file_access package_access) package::~package()
{ {
return package(stream, package_mode, package_access); close();
delete impl_;
} }
package package::open(const std::string &path, file_mode package_mode, file_access package_access, file_share /*package_share*/) void package::open(std::iostream &stream, file_mode package_mode, file_access package_access)
{ {
return package(path, package_mode, package_access); if(impl_ != nullptr)
} {
close();
delete impl_;
impl_ = nullptr;
}
package::package(std::iostream &stream, file_mode package_mode, file_access package_access) impl_ = new package_impl(stream, package_mode, package_access);
: impl_(new package_impl(stream, package_mode, package_access)) impl_->parent_ = this;
{
open_container(); open_container();
} }
package::package(const std::string &path, file_mode package_mode, file_access package_access) void package::open(const std::string &path, file_mode package_mode, file_access package_access, file_share /*package_share*/)
: impl_(new package_impl(path, package_mode, package_access))
{ {
if(impl_ != nullptr)
{
close();
delete impl_;
impl_ = nullptr;
}
impl_ = new package_impl(path, package_mode, package_access);
impl_->parent_ = this;
open_container();
}
package::package() : impl_(nullptr)
{
} }
void package::open_container() void package::open_container()
@ -622,6 +977,18 @@ struct cell_struct
worksheet_struct *parent_worksheet; worksheet_struct *parent_worksheet;
int column; int column;
int row; int row;
style style;
};
const std::unordered_map<std::string, int> cell::ErrorCodes =
{
{"#NULL!", 0},
{"#DIV/0!", 1},
{"#VALUE!", 2},
{"#REF!", 3},
{"#NAME?", 4},
{"#NUM!", 5},
{"#N/A!", 6}
}; };
cell::cell() : root_(nullptr) cell::cell() : root_(nullptr)
@ -646,6 +1013,62 @@ cell::cell(cell_struct *root) : root_(root)
{ {
} }
cell::type cell::data_type_for_value(const std::string &value)
{
return type::null;
}
void cell::set_explicit_value(const std::string &value, type data_type)
{
}
bool cell::bind_value()
{
root_->type = type::null;
return true;
}
bool cell::bind_value(int value)
{
root_->type = type::numeric;
root_->numeric_value = value;
return true;
}
bool cell::bind_value(double value)
{
root_->type = type::numeric;
root_->numeric_value = value;
return true;
}
bool cell::bind_value(const std::string &value)
{
//Given a value, infer type and display options.
root_->type = data_type_for_value(value);
return true;
}
bool cell::bind_value(const char *value)
{
return bind_value(std::string(value));
}
bool cell::bind_value(bool value)
{
root_->type = type::boolean;
root_->bool_value = value;
return true;
}
bool cell::bind_value(const tm &value)
{
root_->type = type::date;
root_->date_value = value;
return true;
}
coordinate cell::coordinate_from_string(const std::string &coord_string) coordinate cell::coordinate_from_string(const std::string &coord_string)
{ {
// Convert a coordinate string like 'B12' to a tuple ('B', 12) // Convert a coordinate string like 'B12' to a tuple ('B', 12)
@ -654,45 +1077,45 @@ coordinate cell::coordinate_from_string(const std::string &coord_string)
for(auto character : coord_string) for(auto character : coord_string)
{ {
char upper = std::toupper(character); char upper = std::toupper(character, std::locale::classic());
if(std::isalpha(character)) if(std::isalpha(character, std::locale::classic()))
{ {
if(column_part) if(column_part)
{ {
result.column.append(1, upper); result.column.append(1, upper);
} }
else else
{ {
std::string msg = "Invalid cell coordinates (" + coord_string + ")"; std::string msg = "Invalid cell coordinates (" + coord_string + ")";
throw std::runtime_error(msg); throw std::runtime_error(msg);
} }
} }
else else
{ {
if(column_part) if(column_part)
{ {
column_part = false; column_part = false;
} }
else if(!(std::isdigit(character) || character == '$')) else if(!(std::isdigit(character, std::locale::classic()) || character == '$'))
{ {
std::string msg = "Invalid cell coordinates (" + coord_string + ")"; std::string msg = "Invalid cell coordinates (" + coord_string + ")";
throw std::runtime_error(msg); throw std::runtime_error(msg);
} }
} }
} }
std::string row_string = coord_string.substr(result.column.length()); std::string row_string = coord_string.substr(result.column.length());
if(row_string[0] == '$') if(row_string[0] == '$')
{ {
row_string = row_string.substr(1); row_string = row_string.substr(1);
} }
result.row = std::stoi(row_string); result.row = std::stoi(row_string);
if(result.row < 1) if(result.row < 1)
{ {
std::string msg = "Invalid cell coordinates (" + coord_string + ")"; std::string msg = "Invalid cell coordinates (" + coord_string + ")";
throw std::runtime_error(msg); throw std::runtime_error(msg);
} }
return result; return result;
@ -702,21 +1125,21 @@ int cell::column_index_from_string(const std::string &column_string)
{ {
if(column_string.length() > 3 || column_string.empty()) if(column_string.length() > 3 || column_string.empty())
{ {
throw std::runtime_error("column must be one to three characters"); throw std::runtime_error("column must be one to three characters");
} }
int column_index = 0; int column_index = 0;
int place = 1; int place = 1;
for(int i = column_string.length() - 1; i >= 0; i--) for(int i = static_cast<int>(column_string.length()) - 1; i >= 0; i--)
{ {
if(!std::isalpha(column_string[i])) if(!std::isalpha(column_string[i], std::locale::classic()))
{ {
throw std::runtime_error("column must contain only letters in the range A-Z"); throw std::runtime_error("column must contain only letters in the range A-Z");
} }
column_index += (std::toupper(column_string[i]) - 'A' + 1) * place; column_index += (std::toupper(column_string[i], std::locale::classic()) - 'A' + 1) * place;
place *= 26; place *= 26;
} }
return column_index; return column_index;
@ -762,19 +1185,44 @@ bool cell::is_date() const
return root_->type == type::date; return root_->type == type::date;
} }
bool cell::operator==(const std::string &comparand) const
{
return root_->type == cell::type::string && root_->string_value == comparand;
}
bool cell::operator==(const char *comparand) const
{
return *this == std::string(comparand);
}
bool cell::operator==(const tm &comparand) const
{
return root_->type == cell::type::date && root_->date_value.tm_hour == comparand.tm_hour;
}
bool operator==(const char *comparand, const cell &cell) bool operator==(const char *comparand, const cell &cell)
{ {
return std::string(comparand) == cell; return cell == comparand;
} }
bool operator==(const std::string &comparand, const cell &cell) bool operator==(const std::string &comparand, const cell &cell)
{ {
return cell.root_->type == cell::type::string && cell.root_->string_value == comparand; return cell == comparand;
} }
bool operator==(const tm &comparand, const cell &cell) bool operator==(const tm &comparand, const cell &cell)
{ {
return cell.root_->type == cell::type::date && cell.root_->date_value.tm_hour == comparand.tm_hour; return cell == comparand;
}
style &cell::get_style()
{
return root_->style;
}
const style &cell::get_style() const
{
return root_->style;
} }
std::string cell::absolute_coordinate(const std::string &absolute_address) std::string cell::absolute_coordinate(const std::string &absolute_address)
@ -783,17 +1231,17 @@ std::string cell::absolute_coordinate(const std::string &absolute_address)
auto colon_index = absolute_address.find(':'); auto colon_index = absolute_address.find(':');
if(colon_index != std::string::npos) if(colon_index != std::string::npos)
{ {
return absolute_coordinate(absolute_address.substr(0, colon_index)) + ":" return absolute_coordinate(absolute_address.substr(0, colon_index)) + ":"
+ absolute_coordinate(absolute_address.substr(colon_index + 1)); + absolute_coordinate(absolute_address.substr(colon_index + 1));
} }
else else
{ {
auto coord = coordinate_from_string(absolute_address); auto coord = coordinate_from_string(absolute_address);
return std::string("$") + coord.column + "$" + std::to_string(coord.row); return std::string("$") + coord.column + "$" + std::to_string(coord.row);
} }
} }
cell::type cell::get_data_type() cell::type cell::get_data_type() const
{ {
return root_->type; return root_->type;
} }
@ -1245,7 +1693,7 @@ worksheet workbook::get_sheet_by_name(const std::string &name)
return worksheet(nullptr); return worksheet(nullptr);
} }
worksheet workbook::get_active() worksheet workbook::get_active_sheet()
{ {
return active_worksheet_; return active_worksheet_;
} }
@ -1300,8 +1748,8 @@ worksheet workbook::operator[](const std::string &name)
void workbook::save(const std::string &filename) void workbook::save(const std::string &filename)
{ {
auto package = package::open(filename); package p;
package.close(); p.open(filename);
} }
std::string cell_struct::to_string() const std::string cell_struct::to_string() const

View File

@ -506,7 +506,6 @@ private:
friend struct package_impl; friend struct package_impl;
part(part_struct *root); part(part_struct *root);
part(package_impl &package, const std::string &uri, opcContainer *container);
part_struct *root_; part_struct *root_;
}; };
@ -520,15 +519,28 @@ typedef std::vector<part> part_collection;
class package class package
{ {
public: public:
enum class type
{
Excel,
Word,
Powerpoint,
Zip
};
package();
~package();
type get_type() const;
/// <summary> /// <summary>
/// Opens a package with a given IO stream, file mode, and file access setting. /// Opens a package with a given IO stream, file mode, and file access setting.
/// </summary> /// </summary>
static package open(std::iostream &stream, file_mode package_mode, file_access package_access); void open(std::iostream &stream, file_mode package_mode, file_access package_access);
/// <summary> /// <summary>
/// Opens a package at a given path using a given file mode, file access, and file share setting. /// Opens a package at a given path using a given file mode, file access, and file share setting.
/// </summary> /// </summary>
static package open(const std::string &path, file_mode package_mode = file_mode::OpenOrCreate, void open(const std::string &path, file_mode package_mode = file_mode::OpenOrCreate,
file_access package_access = file_access::ReadWrite, file_share package_share = file_share::None); file_access package_access = file_access::ReadWrite, file_share package_share = file_share::None);
/// <summary> /// <summary>
@ -767,9 +779,6 @@ public:
private: private:
friend opc_callback_handler; friend opc_callback_handler;
package(std::iostream &stream, file_mode package_mode, file_access package_access);
package(const std::string &path, file_mode package_mode, file_access package_access);
void open_container(); void open_container();
int write(char *buffer, int length); int write(char *buffer, int length);
@ -789,6 +798,25 @@ struct coordinate
int row; int row;
}; };
class number_format
{
public:
void set_format_code(const std::string &format_code) { format_code_ = format_code; }
private:
std::string format_code_;
};
class style
{
public:
number_format &get_number_format() { return number_format_; }
const number_format &get_number_format() const { return number_format_; }
private:
number_format number_format_;
};
class cell class cell
{ {
public: public:
@ -803,6 +831,8 @@ public:
error error
}; };
static const std::unordered_map<std::string, int> ErrorCodes;
static coordinate coordinate_from_string(const std::string &address); static coordinate coordinate_from_string(const std::string &address);
static int column_index_from_string(const std::string &column_string); static int column_index_from_string(const std::string &column_string);
static std::string get_column_letter(int column_index); static std::string get_column_letter(int column_index);
@ -812,6 +842,17 @@ public:
cell(worksheet &ws, const std::string &column, int row); cell(worksheet &ws, const std::string &column, int row);
cell(worksheet &ws, const std::string &column, int row, const std::string &initial_value); cell(worksheet &ws, const std::string &column, int row, const std::string &initial_value);
void set_explicit_value(const std::string &value, type data_type);
type data_type_for_value(const std::string &value);
bool bind_value();
bool bind_value(int value);
bool bind_value(double value);
bool bind_value(const std::string &value);
bool bind_value(const char *value);
bool bind_value(bool value);
bool bind_value(const tm &value);
cell &operator=(int value); cell &operator=(int value);
cell &operator=(double value); cell &operator=(double value);
cell &operator=(const std::string &value); cell &operator=(const std::string &value);
@ -819,6 +860,10 @@ public:
cell &operator=(bool value); cell &operator=(bool value);
cell &operator=(const tm &value); cell &operator=(const tm &value);
bool operator==(const std::string &comparand) const;
bool operator==(const char *comparand) const;
bool operator==(const tm &comparand) const;
friend bool operator==(const std::string &comparand, const cell &cell); friend bool operator==(const std::string &comparand, const cell &cell);
friend bool operator==(const char *comparand, const cell &cell); friend bool operator==(const char *comparand, const cell &cell);
friend bool operator==(const tm &comparand, const cell &cell); friend bool operator==(const tm &comparand, const cell &cell);
@ -826,7 +871,8 @@ public:
std::string to_string() const; std::string to_string() const;
bool is_date() const; bool is_date() const;
style &get_style(); style &get_style();
type get_data_type(); const style &get_style() const;
type get_data_type() const;
private: private:
friend struct worksheet_struct; friend struct worksheet_struct;
@ -929,7 +975,7 @@ public:
const workbook &operator=(const workbook &) = delete; const workbook &operator=(const workbook &) = delete;
worksheet get_sheet_by_name(const std::string &sheet_name); worksheet get_sheet_by_name(const std::string &sheet_name);
worksheet get_active(); worksheet get_active_sheet();
worksheet create_sheet(); worksheet create_sheet();
worksheet create_sheet(std::size_t index); worksheet create_sheet(std::size_t index);
std::vector<std::string> get_sheet_names() const; std::vector<std::string> get_sheet_names() const;