In tests we many times rerun the XPath search to just check another
XML attribute, or first check the size of child elements and then
check each element's attributes in a separate call (re-running the
XPath search). Re-running an XPath search all the time takes up
quite some CPU resources and doing it a lot will accumulate, so the
idea here is to have an object as a result on which you can reuse
instead of re-running the search.
In addition it is possible to combine the search path from the
previous search, so it is possible to construct paths in a more
concise way.
Example:
auto primitivePath = aXPath.create("/primitive2D");
auto polyPath = aXPath.create(primitivePath, "/polypolygon");
polyPath will use a combined path "/primitive2D/polypolygon"
as the search path.
Checking can be done by simply using CPPUNIT_ASSERT* functions
with this, but we might extend UnoApiXmlTest with some checks
for convenience because the assertXPath methods do have better
reporting when the assert fails. Also integration into the
UnoApiXmlTest class will need to be done, because namespaces need
to be registered before tools::XPath can be used correctly. This
change does not touch that yet.
A couple of tests in SvdrawTest have been changed to use the new
tools::XPath class - most notable testRectangleObject. These tests
don't use any namespaces so it is easy to convert those.
Change-Id: I29251d2e7f4c3ee5b76e46daf78c21d0ca067cb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195618
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
141 lines
3.6 KiB
Makefile
141 lines
3.6 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This file incorporates work covered by the following license notice:
|
|
#
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# contributor license agreements. See the NOTICE file distributed
|
|
# with this work for additional information regarding copyright
|
|
# ownership. The ASF licenses this file to you under the Apache
|
|
# License, Version 2.0 (the "License"); you may not use this file
|
|
# except in compliance with the License. You may obtain a copy of
|
|
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
#
|
|
|
|
$(eval $(call gb_Library_Library,tl))
|
|
|
|
$(eval $(call gb_Library_set_include,tl,\
|
|
-I$(SRCDIR)/tools/inc \
|
|
$$(INCLUDE) \
|
|
))
|
|
|
|
$(eval $(call gb_Library_set_precompiled_header,tl,tools/inc/pch/precompiled_tl))
|
|
|
|
$(eval $(call gb_Library_add_defs,tl,\
|
|
-DTOOLS_DLLIMPLEMENTATION \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_sdk_api,tl))
|
|
|
|
$(eval $(call gb_Library_use_libraries,tl,\
|
|
basegfx \
|
|
comphelper \
|
|
i18nlangtag \
|
|
cppu \
|
|
cppuhelper \
|
|
sal \
|
|
))
|
|
|
|
|
|
$(eval $(call gb_Library_add_exception_objects,tl,\
|
|
tools/source/datetime/datetime \
|
|
tools/source/datetime/datetimeutils \
|
|
tools/source/datetime/duration \
|
|
tools/source/datetime/systemdatetime \
|
|
tools/source/datetime/tdate \
|
|
tools/source/datetime/ttime \
|
|
tools/source/debug/debug \
|
|
tools/source/fsys/fileutil \
|
|
tools/source/fsys/urlobj \
|
|
tools/source/fsys/wldcrd \
|
|
tools/source/generic/b3dtrans \
|
|
tools/source/generic/bigint \
|
|
tools/source/generic/color \
|
|
tools/source/generic/config \
|
|
tools/source/generic/fract \
|
|
tools/source/generic/gen \
|
|
tools/source/generic/line \
|
|
tools/source/generic/point \
|
|
tools/source/generic/poly \
|
|
tools/source/generic/poly2 \
|
|
tools/source/generic/svborder \
|
|
tools/source/inet/inetmime \
|
|
tools/source/inet/inetmsg \
|
|
tools/source/inet/inetstrm \
|
|
tools/source/inet/hostfilter \
|
|
tools/source/memtools/multisel \
|
|
tools/source/misc/cpuid \
|
|
tools/source/misc/extendapplicationenvironment \
|
|
tools/source/misc/json_writer \
|
|
tools/source/misc/lazydelete \
|
|
tools/source/misc/UniqueID \
|
|
tools/source/ref/globname \
|
|
tools/source/ref/ref \
|
|
tools/source/stream/stream \
|
|
tools/source/stream/vcompat \
|
|
tools/source/stream/GenericTypeSerializer \
|
|
tools/source/string/tenccvt \
|
|
tools/source/zcodec/zcodec \
|
|
tools/source/xml/XmlWriter \
|
|
tools/source/xml/XmlWalker \
|
|
tools/source/xml/XPath \
|
|
))
|
|
|
|
ifneq ($(SYSTEM_LIBFIXMATH),TRUE)
|
|
$(eval $(call gb_Library_add_exception_objects,tl,\
|
|
tools/source/misc/fix16 \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),WNT)
|
|
$(eval $(call gb_Library_add_exception_objects,tl, \
|
|
tools/source/stream/strmwnt \
|
|
))
|
|
else
|
|
$(eval $(call gb_Library_add_exception_objects,tl, \
|
|
tools/source/stream/strmunx \
|
|
))
|
|
endif
|
|
|
|
$(eval $(call gb_Library_add_generated_exception_objects,tl,\
|
|
CustomTarget/tools/string/reversemap \
|
|
))
|
|
|
|
$(eval $(call gb_Library_use_externals,tl,\
|
|
boost_headers \
|
|
zlib \
|
|
libxml2 \
|
|
))
|
|
|
|
ifeq ($(OS),LINUX)
|
|
$(eval $(call gb_Library_add_libs,tl,\
|
|
-lrt \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(SYSTEM_LIBFIXMATH),TRUE)
|
|
$(eval $(call gb_Library_add_libs,tl,\
|
|
$(LIBFIXMATH_LIBS) \
|
|
))
|
|
endif
|
|
|
|
ifeq ($(OS),WNT)
|
|
|
|
$(eval $(call gb_Library_use_system_win32_libs,tl,\
|
|
mpr \
|
|
netapi32 \
|
|
ole32 \
|
|
shell32 \
|
|
uuid \
|
|
winmm \
|
|
))
|
|
|
|
endif
|
|
|
|
# vim: set noet sw=4 ts=4:
|