From b7d59d872efb907dce06887c2c4e3dbf788f7833 Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Fri, 1 Nov 2019 13:14:33 -0700 Subject: [PATCH] FilterTest - Add basic unit test for the 'defn="..."` injection --- .../tests/phpunit/Civi/Afform/FilterTest.php | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ext/afform/core/tests/phpunit/Civi/Afform/FilterTest.php diff --git a/ext/afform/core/tests/phpunit/Civi/Afform/FilterTest.php b/ext/afform/core/tests/phpunit/Civi/Afform/FilterTest.php new file mode 100644 index 0000000000..ec441c2909 --- /dev/null +++ b/ext/afform/core/tests/phpunit/Civi/Afform/FilterTest.php @@ -0,0 +1,59 @@ +%s'; + + public function setUpHeadless() { + return \Civi\Test::headless()->installMe(__DIR__)->apply(); + } + + public function testDefnInjection() { + $inputHtml = sprintf(self::PERSON_TPL, + '
'); + $filteredHtml = _afform_html_filter('~afform/MyForm.html', $inputHtml); + $converter = new \CRM_Afform_ArrayHtml(TRUE); + $parsed = $converter->convertHtmlToArray($filteredHtml); + + $myField = $parsed[0]['#children'][1]['#children'][0]; + $this->assertEquals('af-field', $myField['#tag']); + $this->assertEquals('First Name', $myField['defn']['title']); + } + + public function testDefnInjectionNested() { + $inputHtml = sprintf(self::PERSON_TPL, + '
'); + $filteredHtml = _afform_html_filter('~afform/MyForm.html', $inputHtml); + $converter = new \CRM_Afform_ArrayHtml(TRUE); + $parsed = $converter->convertHtmlToArray($filteredHtml); + + $myField = $parsed[0]['#children'][1]['#children'][0]['#children'][0]['#children'][0]; + $this->assertEquals('af-field', $myField['#tag']); + $this->assertEquals('First Name', $myField['defn']['title']); + } + + //public function testDefnOverrideTitle() { + // $inputHtml = sprintf(self::PERSON_TPL, + // '
'); + // $filteredHtml = _afform_html_filter('~afform/MyForm.html', $inputHtml); + // $converter = new \CRM_Afform_ArrayHtml(TRUE); + // $parsed = $converter->convertHtmlToArray($filteredHtml); + // + // $myField = $parsed[0]['#children'][1]['#children'][0]; + // $this->assertEquals('af-field', $myField['#tag']); + // $this->assertEquals('Given name', $myField['defn']['title']); + //} + +} -- 2.25.1