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 0 : void XSearchable::testFindAll()
23 : {
24 0 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
25 0 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
26 0 : xSearchDescr->setSearchString(maSearchString);
27 :
28 0 : uno::Reference< container::XIndexAccess > xIndex = xSearchable->findAll(xSearchDescr);
29 0 : CPPUNIT_ASSERT(xIndex.is());
30 0 : CPPUNIT_ASSERT(xIndex->getCount() == mnCount);
31 0 : }
32 :
33 0 : void XSearchable::testFindFirst()
34 : {
35 0 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
36 0 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
37 0 : xSearchDescr->setSearchString(maSearchString);
38 :
39 0 : uno::Reference< uno::XInterface > xElement = xSearchable->findFirst(xSearchDescr);
40 0 : CPPUNIT_ASSERT(xElement.is());
41 0 : }
42 :
43 0 : void XSearchable::testFindNext()
44 : {
45 0 : uno::Reference< util::XSearchable > xSearchable(init(), UNO_QUERY_THROW);
46 0 : uno::Reference< util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
47 0 : xSearchDescr->setSearchString(maSearchString);
48 :
49 0 : uno::Reference< uno::XInterface > xElement = xSearchable->findFirst(xSearchDescr);
50 0 : CPPUNIT_ASSERT(xElement.is());
51 :
52 0 : if (mnCount > 1)
53 : {
54 0 : uno::Reference< uno::XInterface > xElement2 = xSearchable->findNext(xElement, xSearchDescr);
55 0 : CPPUNIT_ASSERT(xElement2.is());
56 0 : }
57 0 : }
58 :
59 0 : XSearchable::~XSearchable()
60 : {
61 0 : }
62 :
63 0 : }
64 :
65 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|