Source
'testa{HOST.HOST}testb{$MACRO1}{{#M}.regsub("^([0-9]+)", "{#M}: \1")}{HOST.DNS}testc{$MACRO2}testd{#MACRO3}teste%%%%', 0, ['usermacros' => true, 'lldmacros' => true, 'macros' => ['{HOST.HOST}', '{HOST.DNS}']],
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
use PHPUnit\Framework\TestCase;
class CDnsParserTest extends TestCase {
/**
* An array of trigger functions and parsed results.
*/
public static function dataProvider() {
return [
[
'dns.name', 0, [],
[
'rc' => CParser::PARSE_SUCCESS,
'match' => 'dns.name'
]
],
[
'', 0, [],
[
'rc' => CParser::PARSE_FAIL,
'match' => ''
]
],
[
'www.zabbix.com-', 0, [],
[
'rc' => CParser::PARSE_SUCCESS,
'match' => 'www.zabbix.com-'
]
],
[
'.a', 0, [],
[
'rc' => CParser::PARSE_FAIL,
'match' => ''
]
],
[
'-a', 0, [],
[
'rc' => CParser::PARSE_FAIL,
'match' => ''
]
],
[
'_a', 0, [],
[