[Libreoffice-commits] core.git: sw/qa
Miklos Vajna (via logerrit)
logerrit at kemper.freedesktop.org
Wed Jul 7 06:45:11 UTC 2021
sw/qa/extras/README | 5 ++--
sw/qa/extras/ww8import/ww8import.cxx | 41 ++++++++++++++++++++++-------------
sw/qa/inc/swmodeltestbase.hxx | 19 ----------------
3 files changed, 30 insertions(+), 35 deletions(-)
New commits:
commit cd0dd53926b4d02ba84b6f9f94df91f92e55d6d8
Author: Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Tue Jul 6 20:33:45 2021 +0200
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Wed Jul 7 08:44:39 2021 +0200
sw: rework to avoid DECLARE_SW_IMPORT_TEST() in CppunitTest_sw_ww8import
See commit a226cec52e536c46e03f57a5f1f7931abbeb0cdd
(CppunitTest_sw_rtfimport: convert one testcase to use
CPPUNIT_TEST_FIXTURE(), 2019-11-05) for motivation.
Change-Id: I7f2750453ca90df3b0b09f83242c309ea1adcc10
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118528
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/sw/qa/extras/README b/sw/qa/extras/README
index bb6a0ae31a64..efa6071d5b5c 100644
--- a/sw/qa/extras/README
+++ b/sw/qa/extras/README
@@ -6,8 +6,9 @@ tests. This file documents how to add new testcases to this framework.
== Import tests
Import tests are the easier ones. First you need to use
-`DECLARE_SW_IMPORT_TEST()`, so the framework will load the specified file to
-`mxComponent`, which represents the UNO model of the document.
+`CPPUNIT_TEST_FIXTURE()` and `load()`, so the framework will load the
+specified file to `mxComponent`, which represents the UNO model of the
+document.
The rest of the testcase is about implementing the test method asserting this
document model: use the UNO API to retrieve properties, then use
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 840d7983dad8..b653db7ef85c 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -36,10 +36,9 @@ public:
}
};
-#define DECLARE_WW8IMPORT_TEST(TestName, filename) DECLARE_SW_IMPORT_TEST(TestName, filename, nullptr, Test)
-
-DECLARE_WW8IMPORT_TEST(testFloatingTableSectionMargins, "floating-table-section-margins.doc")
+CPPUNIT_TEST_FIXTURE(Test, testFloatingTableSectionMargins)
{
+ load(mpTestDocumentPath, "floating-table-section-margins.doc");
sal_Int32 pageLeft = parseDump("/root/page[2]/infos/bounds", "left").toInt32();
sal_Int32 pageWidth = parseDump("/root/page[2]/infos/bounds", "width").toInt32();
sal_Int32 tableLeft = parseDump("//tab/infos/bounds", "left").toInt32();
@@ -61,8 +60,9 @@ DECLARE_WW8IMPORT_TEST(testFloatingTableSectionMargins, "floating-table-section-
CPPUNIT_ASSERT( xTextColumns->getColumnCount() != xPageColumns->getColumnCount());
}
-DECLARE_WW8IMPORT_TEST(testN816593, "n816593.doc")
+CPPUNIT_TEST_FIXTURE(Test, testN816593)
{
+ load(mpTestDocumentPath, "n816593.doc");
uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY);
uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
// Make sure that even if we import the two tables as non-floating, we
@@ -70,39 +70,44 @@ DECLARE_WW8IMPORT_TEST(testN816593, "n816593.doc")
CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount());
}
-DECLARE_WW8IMPORT_TEST(testBnc875715, "bnc875715.doc")
+CPPUNIT_TEST_FIXTURE(Test, testBnc875715)
{
+ load(mpTestDocumentPath, "bnc875715.doc");
uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY);
uno::Reference<container::XIndexAccess> xSections(xTextSectionsSupplier->getTextSections(), uno::UNO_QUERY);
// Was incorrectly set as -1270.
CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty<sal_Int32>(xSections->getByIndex(0), "SectionLeftMargin"));
}
-DECLARE_WW8IMPORT_TEST(testFloatingTableSectionColumns, "floating-table-section-columns.doc")
+CPPUNIT_TEST_FIXTURE(Test, testFloatingTableSectionColumns)
{
+ load(mpTestDocumentPath, "floating-table-section-columns.doc");
OUString tableWidth = parseDump("/root/page[1]/body/section/column[2]/body/txt/anchored/fly/tab/infos/bounds", "width");
// table width was restricted by a column
CPPUNIT_ASSERT( tableWidth.toInt32() > 10000 );
}
-DECLARE_WW8IMPORT_TEST(testTdf124601, "tdf124601.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf124601)
{
+ load(mpTestDocumentPath, "tdf124601.doc");
// Without the accompanying fix in place, this test would have failed, as the importer lost the
// fLayoutInCell shape property for wrap-though shapes.
CPPUNIT_ASSERT(getProperty<bool>(getShapeByName(u"Grafik 18"), "IsFollowingTextFlow"));
CPPUNIT_ASSERT(getProperty<bool>(getShapeByName(u"Grafik 19"), "IsFollowingTextFlow"));
}
-DECLARE_WW8IMPORT_TEST(testImageLazyRead, "image-lazy-read.doc")
+CPPUNIT_TEST_FIXTURE(Test, testImageLazyRead)
{
+ load(mpTestDocumentPath, "image-lazy-read.doc");
auto xGraphic = getProperty<uno::Reference<graphic::XGraphic>>(getShape(1), "Graphic");
Graphic aGraphic(xGraphic);
// This failed, import loaded the graphic, it wasn't lazy-read.
CPPUNIT_ASSERT(!aGraphic.isAvailable());
}
-DECLARE_WW8IMPORT_TEST(testImageLazyRead0size, "image-lazy-read-0size.doc")
+CPPUNIT_TEST_FIXTURE(Test, testImageLazyRead0size)
{
+ load(mpTestDocumentPath, "image-lazy-read-0size.doc");
// Load a document with a single bitmap in it: it's declared as a WMF one, but actually a TGA
// bitmap.
SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
@@ -117,8 +122,9 @@ DECLARE_WW8IMPORT_TEST(testImageLazyRead0size, "image-lazy-read-0size.doc")
CPPUNIT_ASSERT_EQUAL(Size(7590, 10440), pGrfNode->GetTwipSize());
}
-DECLARE_WW8IMPORT_TEST(testTdf106799, "tdf106799.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf106799)
{
+ load(mpTestDocumentPath, "tdf106799.doc");
// Ensure that all text portions are calculated before testing.
SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
CPPUNIT_ASSERT(pTextDoc);
@@ -140,8 +146,9 @@ DECLARE_WW8IMPORT_TEST(testTdf106799, "tdf106799.doc")
}
}
-DECLARE_WW8IMPORT_TEST(testTdf121734, "tdf121734.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf121734)
{
+ load(mpTestDocumentPath, "tdf121734.doc");
SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
CPPUNIT_ASSERT(pTextDoc);
SwDoc* pDoc = pTextDoc->GetDocShell()->GetDoc();
@@ -180,8 +187,9 @@ DECLARE_WW8IMPORT_TEST(testTdf121734, "tdf121734.doc")
}
}
-DECLARE_WW8IMPORT_TEST(testTdf125281, "tdf125281.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf125281)
{
+ load(mpTestDocumentPath, "tdf125281.doc");
#if !defined(_WIN32)
// Windows fails with actual == 26171 for some reason; also lazy load isn't lazy in Windows
// debug builds, reason is not known at the moment.
@@ -205,8 +213,9 @@ DECLARE_WW8IMPORT_TEST(testTdf125281, "tdf125281.doc")
#endif
}
-DECLARE_WW8IMPORT_TEST(testTdf122425_1, "tdf122425_1.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf122425_1)
{
+ load(mpTestDocumentPath, "tdf122425_1.doc");
// This is for header text in case we use a hack for fixed-height headers
// (see SwWW8ImplReader::Read_HdFtTextAsHackedFrame)
SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
@@ -251,8 +260,9 @@ DECLARE_WW8IMPORT_TEST(testTdf122425_1, "tdf122425_1.doc")
CPPUNIT_ASSERT_EQUAL(sal_uInt32(0), nDist);
}
-DECLARE_WW8IMPORT_TEST(testTdf110987, "tdf110987")
+CPPUNIT_TEST_FIXTURE(Test, testTdf110987)
{
+ load(mpTestDocumentPath, "tdf110987");
// The input document is an empty .doc, but without file name
// extension. Check that it was loaded as a normal .doc document,
// and not a template.
@@ -262,8 +272,9 @@ DECLARE_WW8IMPORT_TEST(testTdf110987, "tdf110987")
CPPUNIT_ASSERT(sFilterName != "MS Word 97 Vorlage");
}
-DECLARE_WW8IMPORT_TEST(testTdf120761_zOrder, "tdf120761_zOrder.doc")
+CPPUNIT_TEST_FIXTURE(Test, testTdf120761_zOrder)
{
+ load(mpTestDocumentPath, "tdf120761_zOrder.doc");
//The blue shape was covering everything (highest zorder = 2) instead of the lowest(0)
uno::Reference<drawing::XShape> xShape(getShapeByName(u"Picture 2"), uno::UNO_QUERY);
CPPUNIT_ASSERT_EQUAL(sal_uInt32(0), getProperty<sal_uInt32>(xShape, "ZOrder"));
diff --git a/sw/qa/inc/swmodeltestbase.hxx b/sw/qa/inc/swmodeltestbase.hxx
index ac2f32fdcc80..27a27929681e 100644
--- a/sw/qa/inc/swmodeltestbase.hxx
+++ b/sw/qa/inc/swmodeltestbase.hxx
@@ -33,7 +33,7 @@
/**
* Macro to declare a new test (with full round-trip. To test
- * import only use the DECLARE_SW_IMPORT_TEST macro instead).
+ * import only use the CPPUNIT_TEST_FIXTURE macro directly).
* In order to add a new test, one only needs to use this macro
* and then specify the test content, like this:
*
@@ -85,23 +85,6 @@
#define DECLARE_FODFEXPORT_TEST(TestName, filename) DECLARE_SW_ROUNDTRIP_TEST(TestName, filename, nullptr, Test)
#define DECLARE_WW8EXPORT_TEST(TestName, filename) DECLARE_SW_ROUNDTRIP_TEST(TestName, filename, nullptr, Test)
-#define DECLARE_SW_IMPORT_TEST(TestName, filename, password, BaseClass) \
- class TestName : public BaseClass { \
- protected:\
- virtual OUString getTestName() override { return #TestName; } \
- public:\
- CPPUNIT_TEST_SUITE(TestName); \
- CPPUNIT_TEST(Import); \
- CPPUNIT_TEST_SUITE_END(); \
- \
- void Import() { \
- executeImportTest(filename, password);\
- }\
- void verify() override;\
- }; \
- CPPUNIT_TEST_SUITE_REGISTRATION(TestName); \
- void TestName::verify()
-
#define DECLARE_SW_EXPORT_TEST(TestName, filename, password, BaseClass) \
class TestName : public BaseClass { \
protected:\
More information about the Libreoffice-commits
mailing list