sc/qa/unit/rangelst_test.cxx | 27 +++++++++++++++++++++++++++ sc/source/core/inc/adiasync.hxx | 2 +- sc/source/core/tool/rangelst.cxx | 3 +-- 3 files changed, 29 insertions(+), 3 deletions(-)
New commits: commit 2ffa6b313acc322a2502c6c200b39ec652699bf9 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue Oct 2 00:52:28 2012 +0200 fix errorin translation from german to english Change-Id: Ic58ef47fbd1972762830f66fc3d4d5f1ced2c54e diff --git a/sc/source/core/inc/adiasync.hxx b/sc/source/core/inc/adiasync.hxx index e9f0198..3a479ce 100644 --- a/sc/source/core/inc/adiasync.hxx +++ b/sc/source/core/inc/adiasync.hxx @@ -52,7 +52,7 @@ private: String* pStr; }; ScAddInDocs* pDocs; // List of using documents - FuncData* mpFuncData; // Pointer to files in collection + FuncData* mpFuncData; // Pointer to data in collection sal_uLong nHandle; // is casted from double to sal_uLong ParamType meType; // result of type PTR_DOUBLE or PTR_STRING bool bValid; // is value valid? commit 6eb8634a9f62bfe486ecd2f46bae37d3d930d5ef Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue Oct 2 00:41:08 2012 +0200 iterating here is wrong, join will already merge all necessary ranges Change-Id: I0653cdc8675c584fa11ef90a84b79a636bd98408 diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx index b7347f6..e4b3867 100644 --- a/sc/source/core/tool/rangelst.cxx +++ b/sc/source/core/tool/rangelst.cxx @@ -465,8 +465,7 @@ bool ScRangeList::UpdateReference( if( nDx < 0 || nDy < 0 ) { size_t n = maRanges.size(); - for(size_t i = n-1; i > 0; --i) - Join(*maRanges[i], true); + Join(*maRanges[n-1], true); } } commit c3e6c81eb0b1b4d5ca47dd1d266be97a602e015b Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue Oct 2 00:39:24 2012 +0200 add test for ScRangeList::Join Change-Id: Idb7a051e32884d8db4f6d452c280b3a985b4ff6e diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx index 2c618a5..b5381ec 100644 --- a/sc/qa/unit/rangelst_test.cxx +++ b/sc/qa/unit/rangelst_test.cxx @@ -36,6 +36,8 @@ public: void testDeleteArea_2Ranges_Case8(); void testDeleteArea_1Range(); void testDeleteArea_0Ranges(); + void testJoin_Case1(); + void testJoin_Case2(); void testUpdateReference_DeleteRow(); void testUpdateReference_DeleteCol(); @@ -57,6 +59,8 @@ public: CPPUNIT_TEST(testDeleteArea_2Ranges_Case8); CPPUNIT_TEST(testDeleteArea_1Range); CPPUNIT_TEST(testDeleteArea_0Ranges); + CPPUNIT_TEST(testJoin_Case1); + CPPUNIT_TEST(testJoin_Case2); CPPUNIT_TEST(testUpdateReference_DeleteRow); CPPUNIT_TEST(testUpdateReference_DeleteCol); CPPUNIT_TEST_SUITE_END(); @@ -384,6 +388,29 @@ void Test::testDeleteArea_0Ranges() CPPUNIT_ASSERT(aList.empty()); } +void Test::testJoin_Case1() +{ + ScRangeList aList; + aList.push_back(new ScRange(1,1,0,3,3,0)); + aList.Join(ScRange(4,1,0,6,3,0)); + + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size()); + CPPUNIT_ASSERT( ScRange(1,1,0,6,3,0) == *aList[0]); +} + +void Test::testJoin_Case2() +{ + ScRangeList aList; + aList.push_back(new ScRange(1,1,0,3,3,0)); + aList.push_back(new ScRange(4,1,0,6,3,0)); + aList.push_back(new ScRange(7,1,0,9,3,0)); + + aList.Join(*aList[2], true); + + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size()); + CPPUNIT_ASSERT(ScRange(1,1,0,9,3,0) == *aList[0]); +} + void Test::testUpdateReference_DeleteRow() { ScRangeList aList(ScRange(1,1,0,4,4,0)); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits