Kaydet (Commit) 8c72ab48 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

external data: add a test that shows that cropping to DB area works

Change-Id: Ic883a5f625d54bf8cc95785a9ab1a83f0c8aa2ec
üst 2a981409
...@@ -29,9 +29,11 @@ public: ...@@ -29,9 +29,11 @@ public:
virtual void tearDown() override; virtual void tearDown() override;
void testCSVImport(); void testCSVImport();
void testDataLargerThanDB();
CPPUNIT_TEST_SUITE(ScDataProvidersTest); CPPUNIT_TEST_SUITE(ScDataProvidersTest);
CPPUNIT_TEST(testCSVImport); CPPUNIT_TEST(testCSVImport);
CPPUNIT_TEST(testDataLargerThanDB);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
private: private:
...@@ -67,6 +69,34 @@ void ScDataProvidersTest::testCSVImport() ...@@ -67,6 +69,34 @@ void ScDataProvidersTest::testCSVImport()
CPPUNIT_ASSERT_EQUAL(OUString("test3"), m_pDoc->GetString(2, 1, 0)); CPPUNIT_ASSERT_EQUAL(OUString("test3"), m_pDoc->GetString(2, 1, 0));
} }
void ScDataProvidersTest::testDataLargerThanDB()
{
ScDBData* pDBData = new ScDBData("testDB", 0, 0, 0, 1, 1);
bool bInserted = m_pDoc->GetDBCollection()->getNamedDBs().insert(pDBData);
CPPUNIT_ASSERT(bInserted);
OUString aFileURL;
createFileURL("test1.", "csv", aFileURL);
sc::ExternalDataSource aDataSource(aFileURL, "org.libreoffice.calc.csv", m_pDoc);
aDataSource.setDBData(pDBData);
m_pDoc->GetExternalDataMapper().insertDataSource(aDataSource);
auto& rDataSources = m_pDoc->GetExternalDataMapper().getDataSources();
CPPUNIT_ASSERT(!rDataSources.empty());
rDataSources[0].refresh(m_pDoc, true);
Scheduler::ProcessEventsToIdle();
CPPUNIT_ASSERT_EQUAL(1.0, m_pDoc->GetValue(0, 0, 0));
CPPUNIT_ASSERT_EQUAL(2.0, m_pDoc->GetValue(1, 0, 0));
CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(2, 0, 0));
CPPUNIT_ASSERT_EQUAL(0.0, m_pDoc->GetValue(3, 0, 0));
CPPUNIT_ASSERT_EQUAL(OUString("test1"), m_pDoc->GetString(0, 1, 0));
CPPUNIT_ASSERT_EQUAL(OUString("test2"), m_pDoc->GetString(1, 1, 0));
CPPUNIT_ASSERT_EQUAL(OUString(), m_pDoc->GetString(2, 1, 0));
}
ScDataProvidersTest::ScDataProvidersTest() : ScDataProvidersTest::ScDataProvidersTest() :
ScBootstrapFixture( "/sc/qa/unit/data/dataprovider" ), ScBootstrapFixture( "/sc/qa/unit/data/dataprovider" ),
m_pDoc(nullptr) m_pDoc(nullptr)
......
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