Kaydet (Commit) 99316fc0 authored tarafından Michael Meeks's avatar Michael Meeks

tdf#103632 - sc: OOB sort fields unit test.

Change-Id: I6734d51c8f9c4ca5a01c3e54a71f83ba15db508d
Reviewed-on: https://gerrit.libreoffice.org/30761Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
üst b8fa4d1b
...@@ -17,13 +17,15 @@ ...@@ -17,13 +17,15 @@
#include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
#include <com/sun/star/sheet/XSpreadsheet.hpp> #include <com/sun/star/sheet/XSpreadsheet.hpp>
#include <com/sun/star/table/XCellRange.hpp> #include <com/sun/star/table/XCellRange.hpp>
#include <com/sun/star/util/XSortable.hpp>
#include <com/sun/star/util/SortField.hpp>
using namespace css; using namespace css;
using namespace css::uno; using namespace css::uno;
namespace sc_apitest { namespace sc_apitest {
#define NUMBER_OF_TESTS 14 #define NUMBER_OF_TESTS 15
class ScCellRangeObj : public CalcUnoApiTest, public apitest::XCellRangesQuery, public apitest::CellProperties, class ScCellRangeObj : public CalcUnoApiTest, public apitest::XCellRangesQuery, public apitest::CellProperties,
public apitest::XSearchable, public apitest::XReplaceable, public apitest::XCellRangeData public apitest::XSearchable, public apitest::XReplaceable, public apitest::XCellRangeData
...@@ -35,6 +37,8 @@ public: ...@@ -35,6 +37,8 @@ public:
virtual void tearDown() override; virtual void tearDown() override;
virtual uno::Reference< uno::XInterface > init() override; virtual uno::Reference< uno::XInterface > init() override;
virtual uno::Reference< uno::XInterface > getXCellRangeData() override; virtual uno::Reference< uno::XInterface > getXCellRangeData() override;
void testSortOOB();
CPPUNIT_TEST_SUITE(ScCellRangeObj); CPPUNIT_TEST_SUITE(ScCellRangeObj);
CPPUNIT_TEST(testQueryColumnDifference); CPPUNIT_TEST(testQueryColumnDifference);
...@@ -52,6 +56,7 @@ public: ...@@ -52,6 +56,7 @@ public:
CPPUNIT_TEST(testCreateReplaceDescriptor); CPPUNIT_TEST(testCreateReplaceDescriptor);
CPPUNIT_TEST(testGetDataArray); CPPUNIT_TEST(testGetDataArray);
CPPUNIT_TEST(testSetDataArray); CPPUNIT_TEST(testSetDataArray);
CPPUNIT_TEST(testSortOOB);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
private: private:
...@@ -109,6 +114,32 @@ uno::Reference< uno::XInterface > ScCellRangeObj::getXCellRangeData() ...@@ -109,6 +114,32 @@ uno::Reference< uno::XInterface > ScCellRangeObj::getXCellRangeData()
return xReturn; return xReturn;
} }
void ScCellRangeObj::testSortOOB()
{
uno::Reference<util::XSortable> xSortable(init(),UNO_QUERY_THROW);
try {
uno::Sequence<beans::PropertyValue> aEmptyDescriptor;
xSortable->sort(aEmptyDescriptor);
} catch (const uno::Exception &) {
CPPUNIT_FAIL("exception thrown during empty sort");
}
try {
uno::Sequence<beans::PropertyValue> aProps(1);
uno::Sequence<util::SortField> aSort(1);
aSort[0].Field = 0xffffff;
aSort[0].SortAscending = true;
aProps[0].Name = "SortFields";
aProps[0].Value = uno::makeAny(aSort);
xSortable->sort(aProps);
} catch (const uno::Exception &) {
CPPUNIT_FAIL("exception thrown during OOB sort");
}
}
void ScCellRangeObj::setUp() void ScCellRangeObj::setUp()
{ {
nTest++; nTest++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment