diff options
Diffstat (limited to 'platform/www/lib/plugins/meta/_test/rendering.test.php')
-rw-r--r-- | platform/www/lib/plugins/meta/_test/rendering.test.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/platform/www/lib/plugins/meta/_test/rendering.test.php b/platform/www/lib/plugins/meta/_test/rendering.test.php new file mode 100644 index 0000000..3c39613 --- /dev/null +++ b/platform/www/lib/plugins/meta/_test/rendering.test.php @@ -0,0 +1,80 @@ +<?php +// must be run within Dokuwiki +if (!defined('DOKU_INC')) die(); + +/** + * Test cases for the meta plugin + */ +class plugin_meta_rendering_test extends DokuWikiTest { + + public function setUp() : void { + $this->pluginsEnabled[] = 'meta'; + parent::setUp(); + } + + public function test_meta_description() { + $text = "My page content"; + saveWikiText('description_test', $text, 'Created'); + self::assertEquals($text, p_get_metadata('description_test', 'description abstract', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF . '~~META:description abstract=My abstract~~'; + + saveWikiText('description_test', $text, 'Added meta'); + + self::assertEquals('My abstract', p_get_metadata('description_test', 'description abstract', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF . '~~META:description foobar=bar~~'; + saveWikiText('description_test', $text, 'Updated meta'); + self::assertEquals('My abstract', p_get_metadata('description_test', 'description abstract', METADATA_RENDER_UNLIMITED)); + self::assertEquals('bar', p_get_metadata('description_test', 'description foobar', METADATA_RENDER_UNLIMITED)); + } + + public function test_meta_description_with_persistent_description() { + $text = "My page content"; + $id = 'description_test'; + saveWikiText($id, $text, 'Created'); + self::assertEquals($text, p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED)); + + p_set_metadata($id, array('description' => array('abstract' => 'Persistent description')), false, true); + self::assertEquals('Persistent description', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF . '~~META:description abstract=My abstract~~'; + + saveWikiText($id, $text, 'Added meta'); + + self::assertEquals('My abstract', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF . '~~META:description foobar=bar~~'; + saveWikiText($id, $text, 'Updated meta'); + self::assertEquals('My abstract', p_get_metadata($id, 'description abstract', METADATA_RENDER_UNLIMITED)); + self::assertEquals('bar', p_get_metadata($id, 'description foobar', METADATA_RENDER_UNLIMITED)); + } + + public function test_relation_references_with_link() { + $text = "My page with a [[link_target|Link]]."; + $id = "source"; + + saveWikiText($id, $text, 'Created'); + + self::assertEquals(array('link_target' => false), p_get_metadata($id, 'relation references', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF. "~~META:relation references=foo~~"; + saveWikiText($id, $text, 'Updated'); + + self::assertEquals(array('foo' => false, 'link_target' => false), p_get_metadata($id, 'relation references', METADATA_RENDER_UNLIMITED)); + } + + public function test_relation_references_without_link() { + $text = "My page without a link."; + $id = "source"; + + saveWikiText($id, $text, 'Created'); + + self::assertEquals(null, p_get_metadata($id, 'relation references', METADATA_RENDER_UNLIMITED)); + + $text .= DOKU_LF . "~~META:relation references=foo~~"; + saveWikiText($id, $text, 'Updated'); + + self::assertEquals(array('foo' => false), p_get_metadata($id, 'relation references', METADATA_RENDER_UNLIMITED)); + } +} |