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 <com/sun/star/util/XSearchable.hpp>
11 : #include <com/sun/star/util/XSearchDescriptor.hpp>
12 : #include <com/sun/star/container/XIndexAccess.hpp>
13 : #include "cppunit/extensions/HelperMacros.h"
14 :
15 : #include <test/util/xsearchable.hxx>
16 :
17 : using namespace css;
18 : using namespace css::uno;
19 :
20 : namespace apitest {
21 :
22 4 : void XSearchable::testFindAll()
23 : {
24 4 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
25 8 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
26 4 : xSearchDescr->setSearchString(maSearchString);
27 :
28 8 : uno::Reference< container::XIndexAccess > xIndex = xSearchable->findAll(xSearchDescr);
29 4 : CPPUNIT_ASSERT(xIndex.is());
30 8 : CPPUNIT_ASSERT(xIndex->getCount() == mnCount);
31 4 : }
32 :
33 4 : void XSearchable::testFindFirst()
34 : {
35 4 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
36 8 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
37 4 : xSearchDescr->setSearchString(maSearchString);
38 :
39 8 : uno::Reference< uno::XInterface > xElement = xSearchable->findFirst(xSearchDescr);
40 8 : CPPUNIT_ASSERT(xElement.is());
41 4 : }
42 :
43 2 : void XSearchable::testFindNext()
44 : {
45 2 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
46 4 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
47 2 : xSearchDescr->setSearchString(maSearchString);
48 :
49 4 : uno::Reference< uno::XInterface > xElement = xSearchable->findFirst(xSearchDescr);
50 2 : CPPUNIT_ASSERT(xElement.is());
51 :
52 2 : if (mnCount > 1)
53 : {
54 2 : uno::Reference< uno::XInterface > xElement2 = xSearchable->findNext(xElement, xSearchDescr);
55 2 : CPPUNIT_ASSERT(xElement2.is());
56 2 : }
57 2 : }
58 :
59 42 : XSearchable::~XSearchable()
60 : {
61 42 : }
62 :
63 144 : }
64 :
65 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|