[Libreoffice-commits] core.git: 2 commits - sc/qa sc/source
Pranav Kant
pranavk at collabora.com
Fri Mar 18 15:40:05 UTC 2016
sc/qa/unit/tiledrendering/data/select-row-cols.ods |binary
sc/qa/unit/tiledrendering/tiledrendering.cxx | 69 +++++++++++++++++++++
sc/source/ui/unoobj/docuno.cxx | 2
3 files changed, 70 insertions(+), 1 deletion(-)
New commits:
commit 91904157beb804e78570dedf3b57fc8407d399a8
Author: Pranav Kant <pranavk at collabora.com>
Date: Wed Mar 16 22:13:08 2016 +0530
sc tiled rendering: Unit test for extended .uno:SelectRow/Column
Change-Id: I0ab89598af28e12bebc271f7bce1e6166cb83b1d
diff --git a/sc/qa/unit/tiledrendering/data/select-row-cols.ods b/sc/qa/unit/tiledrendering/data/select-row-cols.ods
new file mode 100644
index 0000000..83cb8f1
Binary files /dev/null and b/sc/qa/unit/tiledrendering/data/select-row-cols.ods differ
diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx b/sc/qa/unit/tiledrendering/tiledrendering.cxx
index ecfd605..539fe18 100644
--- a/sc/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx
@@ -46,11 +46,13 @@ public:
virtual void tearDown() SAL_OVERRIDE;
#if !defined(WNT) && !defined(MACOSX)
+ void testRowColumnSelections();
void testSortAscendingDescending();
#endif
CPPUNIT_TEST_SUITE(ScTiledRenderingTest);
#if !defined(WNT) && !defined(MACOSX)
+ CPPUNIT_TEST(testRowColumnSelections);
CPPUNIT_TEST(testSortAscendingDescending);
#endif
CPPUNIT_TEST_SUITE_END();
@@ -150,6 +152,73 @@ void ScTiledRenderingTest::callbackImpl(int /*nType*/, const char* /*pPayload*/)
}
#endif
+void ScTiledRenderingTest::testRowColumnSelections()
+{
+ comphelper::LibreOfficeKit::setActive();
+ ScModelObj* pModelObj = createDoc("select-row-cols.ods");
+ //ScDocument* pDoc = pModelObj->GetDocument();
+
+ uno::Sequence<beans::PropertyValue> aArgs(2);
+
+ // Select the 5th row with no modifier
+ aArgs[0].Name = OUString::fromUtf8("Row");
+ aArgs[0].Value <<= static_cast<sal_Int32>(5 - 1);
+ aArgs[1].Name = OUString::fromUtf8("Modifier");
+ aArgs[1].Value <<= static_cast<sal_uInt16>(0);
+ comphelper::dispatchCommand(".uno:SelectRow", aArgs);
+
+ // Check if it is selected
+ OString aUsedMimeType;
+ OString aResult = pModelObj->getTextSelection("text/plain;charset=utf-8", aUsedMimeType);
+ OString aExpected("1\t2\t3\t4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\n");
+ CPPUNIT_ASSERT_EQUAL(aExpected, aResult);
+
+ // Select the 10th row with shift modifier
+ aArgs[0].Name = OUString::fromUtf8("Row");
+ aArgs[0].Value <<= static_cast<sal_Int32>(10 - 1);
+ aArgs[1].Name = OUString::fromUtf8("Modifier");
+ aArgs[1].Value <<= static_cast<sal_uInt16>(KEY_SHIFT);
+ comphelper::dispatchCommand(".uno:SelectRow", aArgs);
+
+ // Check if all the rows from 5th to 10th get selected
+ aResult = pModelObj->getTextSelection("text/plain;charset=utf-8", aUsedMimeType);
+ aExpected = "1\t2\t3\t4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\n2\t3\t4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\t22\n3\t4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\t22\t23\n4\t5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\t22\t23\t24\n5\t6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\t22\t23\t24\t25\n6\t7\t8\t9\t10\t11\t12\t13\t14\t15\t16\t17\t18\t19\t20\t21\t22\t23\t24\t25\t26\n";
+ CPPUNIT_ASSERT_EQUAL(aExpected, aResult);
+
+ // Select the 10th row with ctrl modifier
+ aArgs[0].Name = OUString::fromUtf8("Row");
+ aArgs[0].Value <<= static_cast<sal_Int32>(13 - 1);
+ aArgs[1].Name = OUString::fromUtf8("Modifier");
+ aArgs[1].Value <<= static_cast<sal_uInt16>(KEY_MOD1);
+ comphelper::dispatchCommand(".uno:SelectRow", aArgs);
+
+ // When we copy this, we don't get anything useful, but we must not crash
+ // (used to happen)
+ aResult = pModelObj->getTextSelection("text/plain;charset=utf-8", aUsedMimeType);
+ CPPUNIT_ASSERT_EQUAL(OString(), aResult);
+
+ // TODO check that we really selected what we wanted here
+
+ // Select Column 5 with ctrl modifier
+ aArgs[0].Name = OUString::fromUtf8("Col");
+ aArgs[0].Value <<= static_cast<sal_Int32>(5 - 1);
+ aArgs[1].Name = OUString::fromUtf8("Modifier");
+ aArgs[1].Value <<= static_cast<sal_uInt16>(KEY_MOD1);
+ comphelper::dispatchCommand(".uno:SelectColumn", aArgs);
+
+ // When we copy this, we don't get anything useful, but we must not crash
+ // (used to happen)
+ aResult = pModelObj->getTextSelection("text/plain;charset=utf-8", aUsedMimeType);
+ CPPUNIT_ASSERT_EQUAL(OString(), aResult);
+
+ // TODO check that we really selected what we wanted here
+
+ // TODO: Add test for negative selection: .uno:SelectRow/Column on already
+ // selected row/column should deselect it.
+
+ comphelper::LibreOfficeKit::setActive(false);
+}
+
void ScTiledRenderingTest::testSortAscendingDescending()
{
comphelper::LibreOfficeKit::setActive();
commit 1592f030f8cab535b7ad0516abca0e309f84d4a3
Author: Jan Holesovsky <kendy at collabora.com>
Date: Fri Mar 18 16:23:26 2016 +0100
sc lok bccu#1602: Don't crash when the copy functionality is not allowed.
Change-Id: I0fe5871782d5892f9eda201be042648a45b9f9d4
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
index 6498fe0..184255c 100644
--- a/sc/source/ui/unoobj/docuno.cxx
+++ b/sc/source/ui/unoobj/docuno.cxx
@@ -753,7 +753,7 @@ OString ScModelObj::getTextSelection(const char* pMimeType, OString& rUsedMimeTy
else
aFlavor.DataType = cppu::UnoType< uno::Sequence<sal_Int8> >::get();
- if (!xTransferable->isDataFlavorSupported(aFlavor))
+ if (!xTransferable.is() || !xTransferable->isDataFlavorSupported(aFlavor))
return OString();
uno::Any aAny(xTransferable->getTransferData(aFlavor));
More information about the Libreoffice-commits
mailing list