icingaweb2-module-director/test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php
Eric Lippmann b6af283732 License source files as GPL-3.0-or-later
Add SPDX license headers and mark source files as GPL-3.0-or-later to
preserve the option to relicense under later GPL versions.
2026-03-24 11:30:06 +01:00

47 lines
1.2 KiB
PHP

<?php
// SPDX-FileCopyrightText: 2020 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later
namespace Tests\Icinga\Module\Director\IcingaConfig;
use Icinga\Module\Director\Data\RecursiveUtf8Validator;
use Icinga\Module\Director\Test\BaseTestCase;
class RecursiveUtf8ValidatorTest extends BaseTestCase
{
public function testDetectInvalidUtf8Character()
{
$this->expectException(\InvalidArgumentException::class);
RecursiveUtf8Validator::validateRows([
(object) [
'name' => 'test 1',
'value' => 'something',
],
(object) [
'name' => 'test 2',
'value' => "some\xa1\xa2thing",
],
]);
}
public function testAcceptValidUtf8Characters()
{
$this->assertTrue(RecursiveUtf8Validator::validateRows([
(object) [
'name' => 'test 1',
'value' => "Some 🍻",
],
(object) [
'name' => 'test 2',
'value' => [
(object) [
'its' => true,
['💩']
]
],
],
]));
}
}