reset(); } public function test_jiralink() { // arrange global $ID; $ID = 'testpage'; saveWikiText('testpage','[[jira>SPR-281]] [[jira>TW-7]]','test summary'); // act p_get_instructions('[[jira>SPR-281]]'); p_get_instructions('[[jira>TW-7]]'); // assert /** @var \helper_plugin_sqlite $sqliteHelper */ $sqliteHelper = plugin_load('helper', 'sqlite'); if (!$sqliteHelper->init('issuelinks', DOKU_PLUGIN . 'issuelinks/db/')) { throw new \Exception('sqlite init failed'); } $sql = 'SELECT page, project_id, issue_id, type FROM pagerev_issues'; $pagerev_issues = $sqliteHelper->res2arr($sqliteHelper->query($sql, array())); $this->assertEquals(array( array( 'page' => 'testpage', 'project_id' => 'SPR', 'issue_id' => '281', 'type' => 'link', ), array( 'page' => 'testpage', 'project_id' => 'TW', 'issue_id' => '7', 'type' => 'link', )), $pagerev_issues); } public function test_jiralink_oldrev() { // arrange global $ID, $REV; $ID = 'testpage_oldnew'; saveWikiText($ID,'{{jira>SPR-281}} {{jira>TW-7}}','test summary'); $REV = filemtime(wikiFN($ID))+1; // act p_get_instructions('{{jira>SPR-281}}'); p_get_instructions('{{jira>TW-7}}'); // assert /** @var \helper_plugin_sqlite $sqliteHelper */ $sqliteHelper = plugin_load('helper', 'sqlite'); if (!$sqliteHelper->init('issuelinks', DOKU_PLUGIN . 'issuelinks/db/')) { throw new \Exception('sqlite init failed'); } $sql = 'SELECT page, project_id, issue_id, type FROM pagerev_issues'; $pagerev_issues = $sqliteHelper->res2arr($sqliteHelper->query($sql, array())); $this->assertEquals(array(), $pagerev_issues); } public function test_jiralink_moresyntax() { // arrange global $ID; $ID = 'testpage2'; saveWikiText($ID,'page must exist for m_filetime','test summary'); // act p_get_instructions('[[gh>cosmocode/dokuwiki-plugin-issuelinks#1]]'); p_get_instructions('[[jira>TW-7]]'); p_get_instructions('[[gl>grosse/project-with-merge-request!1]]'); p_get_instructions('[[gl>grosse/project-with-issue#1]]'); // assert /** @var \helper_plugin_sqlite $sqliteHelper */ $sqliteHelper = plugin_load('helper', 'sqlite'); if (!$sqliteHelper->init('issuelinks', DOKU_PLUGIN . 'issuelinks/db/')) { throw new \Exception('sqlite init failed'); } $sql = 'SELECT page, project_id, issue_id, type FROM pagerev_issues'; $pagerev_issues = $sqliteHelper->res2arr($sqliteHelper->query($sql, array())); $this->assertEquals(array( array( 'page' => 'testpage2', 'project_id' => 'cosmocode/dokuwiki-plugin-issuelinks', 'issue_id' => '1', 'type' => 'link', ), array( 'page' => 'testpage2', 'project_id' => 'TW', 'issue_id' => '7', 'type' => 'link', ), array( 'page' => 'testpage2', 'project_id' => 'grosse/project-with-merge-request', 'issue_id' => '1', 'type' => 'link', ), array( 'page' => 'testpage2', 'project_id' => 'grosse/project-with-issue', 'issue_id' => '1', 'type' => 'link', )), $pagerev_issues); } }