Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : */
9 :
10 : #include <test/calc_unoapi_test.hxx>
11 : #include <test/sheet/xspreadsheets2.hxx>
12 : #include <test/container/xnamecontainer.hxx>
13 :
14 : #include <com/sun/star/beans/XPropertySet.hpp>
15 : #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
16 :
17 : using namespace css;
18 : using namespace css::uno;
19 :
20 : namespace sc_apitest {
21 :
22 : #define NUMBER_OF_TESTS 13
23 :
24 26 : class ScTableSheetsObj : public CalcUnoApiTest, public ::apitest::XSpreadsheets2, apitest::XNameContainer
25 : {
26 : public:
27 : ScTableSheetsObj();
28 :
29 : virtual void setUp() SAL_OVERRIDE;
30 : virtual void tearDown() SAL_OVERRIDE;
31 :
32 2 : CPPUNIT_TEST_SUITE(ScTableSheetsObj);
33 1 : CPPUNIT_TEST(testImportValue);
34 1 : CPPUNIT_TEST(testImportString);
35 1 : CPPUNIT_TEST(testImportedSheetNameAndIndex);
36 1 : CPPUNIT_TEST(testImportString);
37 1 : CPPUNIT_TEST(testImportValue);
38 1 : CPPUNIT_TEST(testImportFormulaBasicMath);
39 1 : CPPUNIT_TEST(testImportFormulaWithNamedRange);
40 1 : CPPUNIT_TEST(testImportOverExistingNamedRange);
41 1 : CPPUNIT_TEST(testImportNamedRangeDefinedInSource);
42 1 : CPPUNIT_TEST(testImportNamedRangeRedefinedInSource);
43 1 : CPPUNIT_TEST(testImportNewNamedRange);
44 1 : CPPUNIT_TEST(testImportCellStyle);
45 1 : CPPUNIT_TEST(testRemoveByName);
46 2 : CPPUNIT_TEST_SUITE_END();
47 :
48 : virtual uno::Reference< lang::XComponent > getComponent() SAL_OVERRIDE;
49 : virtual void createFileURL(const OUString& rFileBase, OUString& rFileURL) SAL_OVERRIDE;
50 : virtual uno::Reference< lang::XComponent > loadFromDesktop(const OUString& rString) SAL_OVERRIDE;
51 : virtual uno::Reference< uno::XInterface > init() SAL_OVERRIDE;
52 : protected:
53 : static uno::Reference< lang::XComponent > mxComponent;
54 : static sal_Int32 nTest;
55 : };
56 :
57 1 : uno::Reference< lang::XComponent > ScTableSheetsObj::mxComponent;
58 : sal_Int32 ScTableSheetsObj::nTest = 0;
59 :
60 13 : ScTableSheetsObj::ScTableSheetsObj():
61 : CalcUnoApiTest("/sc/qa/extras/testdocuments"),
62 13 : apitest::XNameContainer(OUString("Sheet2"))
63 : {
64 :
65 13 : }
66 :
67 0 : uno::Reference< lang::XComponent > ScTableSheetsObj::getComponent()
68 : {
69 0 : return mxComponent;
70 : }
71 :
72 14 : void ScTableSheetsObj::createFileURL(const OUString& rFileBase, OUString& rFileURL)
73 : {
74 14 : CalcUnoApiTest::createFileURL(rFileBase, rFileURL);
75 14 : }
76 :
77 2 : uno::Reference< lang::XComponent > ScTableSheetsObj::loadFromDesktop(const OUString& rString)
78 : {
79 2 : return CalcUnoApiTest::loadFromDesktop(rString);
80 : }
81 :
82 13 : uno::Reference< uno::XInterface > ScTableSheetsObj::init()
83 : {
84 13 : OUString aFileURL;
85 13 : createFileURL(OUString("rangenamessrc.ods"), aFileURL);
86 13 : if(!mxComponent.is())
87 1 : mxComponent = loadFromDesktop(aFileURL);
88 13 : CPPUNIT_ASSERT(mxComponent.is());
89 13 : xDocument = uno::Reference< sheet::XSpreadsheetDocument >(mxComponent, UNO_QUERY_THROW);
90 13 : uno::Reference< uno::XInterface > xReturn( xDocument->getSheets(), UNO_QUERY_THROW);
91 :
92 13 : return xReturn;
93 : }
94 :
95 13 : void ScTableSheetsObj::setUp()
96 : {
97 13 : nTest++;
98 13 : CPPUNIT_ASSERT(nTest <= NUMBER_OF_TESTS);
99 13 : CalcUnoApiTest::setUp();
100 13 : }
101 :
102 13 : void ScTableSheetsObj::tearDown()
103 : {
104 13 : if (nTest == NUMBER_OF_TESTS)
105 1 : closeDocument(mxComponent);
106 :
107 13 : CalcUnoApiTest::tearDown();
108 13 : }
109 :
110 1 : CPPUNIT_TEST_SUITE_REGISTRATION(ScTableSheetsObj);
111 :
112 1 : CPPUNIT_PLUGIN_IMPLEMENT();
113 :
114 3 : }
115 :
116 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|