office-gobmx/basic/CppunitTest_basic_scanner.mk
Mike Kaganski 38f731ff67 tdf#160478: fix Basic LIKE operator
1. The regex must match the whole input. Thus, the ^ and $ metacharacters
   must be replaced with \A and \z, which only match beginning and end of
   input, not any line start / end.
2. The * and ? metacharacters of LIKE must match newline character; thus,
   search flags must include UREGEX_DOTALL. To avoid changing TextSearch
   implementation, I use icu::RegexMatcher directly.

The direct use of icu::RegexMatcher also allowed to simplify the code by
calling icu::RegexMatcher::matches method.  This may perform better than
general-purpose utl::TextSearch::SearchForward.

Change-Id: I75776498b36f236da294462362ed5b36ed8cdf68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165700
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-04-02 19:47:35 +02:00

54 lines
1.2 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/.
#
$(eval $(call gb_CppunitTest_CppunitTest,basic_scanner))
$(eval $(call gb_CppunitTest_use_ure,basic_scanner))
$(eval $(call gb_CppunitTest_use_externals,basic_scanner,\
icu_headers \
icuuc \
icui18n \
))
$(eval $(call gb_CppunitTest_add_exception_objects,basic_scanner, \
basic/qa/cppunit/test_scanner \
))
$(eval $(call gb_CppunitTest_use_library_objects,basic_scanner,sb))
$(eval $(call gb_CppunitTest_use_libraries,basic_scanner, \
comphelper \
cppu \
cppuhelper \
sal \
salhelper \
i18nlangtag \
sot \
svl \
svt \
tl \
utl \
vcl \
xmlscript \
))
ifeq ($(OS),WNT)
$(eval $(call gb_CppunitTest_use_system_win32_libs,basic_scanner, \
oleaut32 \
))
endif
$(eval $(call gb_CppunitTest_set_include,basic_scanner,\
-I$(SRCDIR)/basic/source/inc \
-I$(SRCDIR)/basic/inc \
$$(INCLUDE) \
))
# vim: set noet sw=4 ts=4: