LibreOffice Module test (master)  1
xsearchable.cxx
Go to the documentation of this file.
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/TestAssert.h>
14 
16 
17 using namespace css;
18 using namespace css::uno;
19 
20 namespace apitest
21 {
22 void XSearchable::testFindAll()
23 {
24  uno::Reference<util::XSearchable> xSearchable(init(), UNO_QUERY_THROW);
25  uno::Reference<util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
26  xSearchDescr->setSearchString(maSearchString);
27 
28  uno::Reference<container::XIndexAccess> xIndex = xSearchable->findAll(xSearchDescr);
29  CPPUNIT_ASSERT(xIndex.is());
30  CPPUNIT_ASSERT_EQUAL(mnCount, xIndex->getCount());
31 }
32 
33 void XSearchable::testFindFirst()
34 {
35  uno::Reference<util::XSearchable> xSearchable(init(), UNO_QUERY_THROW);
36  uno::Reference<util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
37  xSearchDescr->setSearchString(maSearchString);
38 
39  uno::Reference<uno::XInterface> xElement = xSearchable->findFirst(xSearchDescr);
40  CPPUNIT_ASSERT(xElement.is());
41 }
42 
43 void XSearchable::testFindNext()
44 {
45  uno::Reference<util::XSearchable> xSearchable(init(), UNO_QUERY_THROW);
46  uno::Reference<util::XSearchDescriptor> xSearchDescr = xSearchable->createSearchDescriptor();
47  xSearchDescr->setSearchString(maSearchString);
48 
49  uno::Reference<uno::XInterface> xElement = xSearchable->findFirst(xSearchDescr);
50  CPPUNIT_ASSERT(xElement.is());
51 
52  if (mnCount > 1)
53  {
54  uno::Reference<uno::XInterface> xElement2 = xSearchable->findNext(xElement, xSearchDescr);
55  CPPUNIT_ASSERT(xElement2.is());
56  }
57 }
58 
59 XSearchable::~XSearchable() {}
60 }
61 
62 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::size_t mnCount
FILE * init(int, char **)