From f614c737f5835187797ecc1ebb1b3578e62553ee Mon Sep 17 00:00:00 2001 From: Thomas Fussell Date: Sat, 16 Jul 2016 18:42:56 -0400 Subject: [PATCH] test text --- source/cell/tests/test_text.hpp | 64 +++++++++++++++++++++++ source/cell/text.cpp | 30 +++++------ source/packaging/tests/test_core.hpp | 1 + source/worksheet/tests/test_worksheet.hpp | 5 ++ tests/data/writer/app.xml | 2 +- tests/data/writer/expected/app.xml | 2 +- 6 files changed, 87 insertions(+), 17 deletions(-) create mode 100644 source/cell/tests/test_text.hpp diff --git a/source/cell/tests/test_text.hpp b/source/cell/tests/test_text.hpp new file mode 100644 index 00000000..cf96e3f0 --- /dev/null +++ b/source/cell/tests/test_text.hpp @@ -0,0 +1,64 @@ +#pragma once + +#include +#include +#include +#include + +#include + +class test_text : public CxxTest::TestSuite +{ +public: + void test_operators() + { + xlnt::text text1; + xlnt::text text2; + TS_ASSERT_EQUALS(text1, text2); + xlnt::text_run run_default; + text1.add_run(run_default); + TS_ASSERT_DIFFERS(text1, text2); + text2.add_run(run_default); + TS_ASSERT_EQUALS(text1, text2); + + xlnt::text_run run_formatted; + run_formatted.set_color("maroon"); + run_formatted.set_font("Cambria"); + run_formatted.set_scheme("ascheme"); + run_formatted.set_size(40); + run_formatted.set_family(17); + + xlnt::text text_formatted; + text_formatted.add_run(run_formatted); + + xlnt::text_run run_color_differs = run_formatted; + run_color_differs.set_color("mauve"); + xlnt::text text_color_differs; + text_color_differs.add_run(run_color_differs); + TS_ASSERT_DIFFERS(text_formatted, text_color_differs); + + xlnt::text_run run_font_differs = run_formatted; + run_font_differs.set_font("Calibri"); + xlnt::text text_font_differs; + text_font_differs.add_run(run_font_differs); + TS_ASSERT_DIFFERS(text_formatted, text_font_differs); + + xlnt::text_run run_scheme_differs = run_formatted; + run_scheme_differs.set_scheme("bscheme"); + xlnt::text text_scheme_differs; + text_scheme_differs.add_run(run_scheme_differs); + TS_ASSERT_DIFFERS(text_formatted, text_scheme_differs); + + xlnt::text_run run_size_differs = run_formatted; + run_size_differs.set_size(41); + xlnt::text text_size_differs; + text_size_differs.add_run(run_size_differs); + TS_ASSERT_DIFFERS(text_formatted, text_size_differs); + + xlnt::text_run run_family_differs = run_formatted; + run_family_differs.set_family(18); + xlnt::text text_family_differs; + text_family_differs.add_run(run_family_differs); + TS_ASSERT_DIFFERS(text_formatted, text_family_differs); + } +}; diff --git a/source/cell/text.cpp b/source/cell/text.cpp index 5c521f42..bfb99fab 100644 --- a/source/cell/text.cpp +++ b/source/cell/text.cpp @@ -71,37 +71,37 @@ bool text::operator==(const text &rhs) const if (runs_[i].has_formatting()) { - if (runs_[i].has_color() == rhs.runs_[i].has_color() - && runs_[i].has_color() - && runs_[i].get_color() != rhs.runs_[i].get_color()) + if (runs_[i].has_color() != rhs.runs_[i].has_color() + || (runs_[i].has_color() + && runs_[i].get_color() != rhs.runs_[i].get_color())) { return false; } - if (runs_[i].has_family() == rhs.runs_[i].has_family() - && runs_[i].has_family() - && runs_[i].get_family() != rhs.runs_[i].get_family()) + if (runs_[i].has_family() != rhs.runs_[i].has_family() + || (runs_[i].has_family() + && runs_[i].get_family() != rhs.runs_[i].get_family())) { return false; } - if (runs_[i].has_font() == rhs.runs_[i].has_font() - && runs_[i].has_font() - && runs_[i].get_font() != rhs.runs_[i].get_font()) + if (runs_[i].has_font() != rhs.runs_[i].has_font() + || (runs_[i].has_font() + && runs_[i].get_font() != rhs.runs_[i].get_font())) { return false; } - if (runs_[i].has_scheme() == rhs.runs_[i].has_scheme() - && runs_[i].has_scheme() - && runs_[i].get_scheme() != rhs.runs_[i].get_scheme()) + if (runs_[i].has_scheme() != rhs.runs_[i].has_scheme() + || (runs_[i].has_scheme() + && runs_[i].get_scheme() != rhs.runs_[i].get_scheme())) { return false; } - if (runs_[i].has_size() == rhs.runs_[i].has_size() - && runs_[i].has_size() - && runs_[i].get_size() != rhs.runs_[i].get_size()) + if (runs_[i].has_size() != rhs.runs_[i].has_size() + || (runs_[i].has_size() + && runs_[i].get_size() != rhs.runs_[i].get_size())) { return false; } diff --git a/source/packaging/tests/test_core.hpp b/source/packaging/tests/test_core.hpp index 1d8fd9aa..1231d462 100644 --- a/source/packaging/tests/test_core.hpp +++ b/source/packaging/tests/test_core.hpp @@ -89,6 +89,7 @@ public: xlnt::workbook wb; wb.get_app_properties().application = "Microsoft Excel"; wb.get_app_properties().app_version = "12.0000"; + wb.get_app_properties().company = "Company"; wb.create_sheet(); wb.create_sheet(); xlnt::workbook_serializer serializer(wb); diff --git a/source/worksheet/tests/test_worksheet.hpp b/source/worksheet/tests/test_worksheet.hpp index 1d9b2092..53c5f8fb 100644 --- a/source/worksheet/tests/test_worksheet.hpp +++ b/source/worksheet/tests/test_worksheet.hpp @@ -1003,7 +1003,12 @@ public: TS_ASSERT(margins.is_default()); + margins.set_top(0); margins.set_bottom(1); + margins.set_header(2); + margins.set_footer(3); + margins.set_left(4); + margins.set_right(5); TS_ASSERT(!margins.is_default()); } diff --git a/tests/data/writer/app.xml b/tests/data/writer/app.xml index 2f30b27a..856f8466 100644 --- a/tests/data/writer/app.xml +++ b/tests/data/writer/app.xml @@ -1,2 +1,2 @@ -Microsoft Excel0falsefalsefalsefalse12.0000Worksheets3SheetSheet1Sheet2 \ No newline at end of file +Microsoft Excel0falseCompanyfalsefalsefalse12.0000Worksheets3SheetSheet1Sheet2 \ No newline at end of file diff --git a/tests/data/writer/expected/app.xml b/tests/data/writer/expected/app.xml index 2f30b27a..856f8466 100644 --- a/tests/data/writer/expected/app.xml +++ b/tests/data/writer/expected/app.xml @@ -1,2 +1,2 @@ -Microsoft Excel0falsefalsefalsefalse12.0000Worksheets3SheetSheet1Sheet2 \ No newline at end of file +Microsoft Excel0falseCompanyfalsefalsefalse12.0000Worksheets3SheetSheet1Sheet2 \ No newline at end of file