summaryrefslogtreecommitdiffstats
path: root/test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php b/test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php
new file mode 100644
index 0000000..1434d4a
--- /dev/null
+++ b/test/php/library/Director/Data/RecursiveUtf8ValidatorTest.php
@@ -0,0 +1,45 @@
+<?php
+
+namespace Tests\Icinga\Module\Director\IcingaConfig;
+
+use Icinga\Module\Director\Data\RecursiveUtf8Validator;
+use Icinga\Module\Director\Test\BaseTestCase;
+
+class RecursiveUtf8ValidatorTest extends BaseTestCase
+{
+ /**
+ * @expectedException \InvalidArgumentException
+ */
+ public function testDetectInvalidUtf8Character()
+ {
+ 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,
+ ['💩']
+ ]
+ ],
+ ],
+ ]));
+ }
+}