From fe3713d2e5c91e2d07af72b39f321521d3dd470c Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Mon, 3 Dec 2018 01:35:14 +0100 Subject: namespacing: move LinkUtils along \Shaarli\Bookmark classes Signed-off-by: VirtualTam --- tests/LinkUtilsTest.php | 421 ------------------------------------------------ 1 file changed, 421 deletions(-) delete mode 100644 tests/LinkUtilsTest.php (limited to 'tests/LinkUtilsTest.php') diff --git a/tests/LinkUtilsTest.php b/tests/LinkUtilsTest.php deleted file mode 100644 index 5407159a..00000000 --- a/tests/LinkUtilsTest.php +++ /dev/null @@ -1,421 +0,0 @@ -stuff'. $title .''; - $this->assertEquals($title, html_extract_title($html)); - $html = ''. $title .'blablaanother'; - $this->assertEquals($title, html_extract_title($html)); - } - - /** - * Test html_extract_title() when the title is not found. - */ - public function testHtmlExtractNonExistentTitle() - { - $html = 'stuff'; - $this->assertFalse(html_extract_title($html)); - } - - /** - * Test headers_extract_charset() when the charset is found. - */ - public function testHeadersExtractExistentCharset() - { - $charset = 'x-MacCroatian'; - $headers = 'text/html; charset='. $charset; - $this->assertEquals(strtolower($charset), header_extract_charset($headers)); - } - - /** - * Test headers_extract_charset() when the charset is not found. - */ - public function testHeadersExtractNonExistentCharset() - { - $headers = ''; - $this->assertFalse(header_extract_charset($headers)); - - $headers = 'text/html'; - $this->assertFalse(header_extract_charset($headers)); - } - - /** - * Test html_extract_charset() when the charset is found. - */ - public function testHtmlExtractExistentCharset() - { - $charset = 'x-MacCroatian'; - $html = 'stuff2'; - $this->assertEquals(strtolower($charset), html_extract_charset($html)); - } - - /** - * Test html_extract_charset() when the charset is not found. - */ - public function testHtmlExtractNonExistentCharset() - { - $html = 'stuff'; - $this->assertFalse(html_extract_charset($html)); - $html = 'stuff'; - $this->assertFalse(html_extract_charset($html)); - } - - /** - * Test the download callback with valid value - */ - public function testCurlDownloadCallbackOk() - { - $callback = get_curl_download_callback($charset, $title, 'ut_curl_getinfo_ok'); - $data = [ - 'HTTP/1.1 200 OK', - 'Server: GitHub.com', - 'Date: Sat, 28 Oct 2017 12:01:33 GMT', - 'Content-Type: text/html; charset=utf-8', - 'Status: 200 OK', - 'end' => 'th=device-width">' - .'Refactoring · GitHub' - .'' - .'Refactoring · GitHub' - .'', - 'end' => 'th=device-width">' - .'Refactoring · GitHub' - .'Refactoring · GitHub' - .'http://hello.there/is=someone#here otherstuff'; - $processedText = text2clickable($text, ''); - $this->assertEquals($expectedText, $processedText); - - $text = 'stuff http://hello.there/is=someone#here(please) otherstuff'; - $expectedText = 'stuff ' - .'http://hello.there/is=someone#here(please) otherstuff'; - $processedText = text2clickable($text, ''); - $this->assertEquals($expectedText, $processedText); - - $text = 'stuff http://hello.there/is=someone#here(please)&no otherstuff'; - $expectedText = 'stuff ' - .'http://hello.there/is=someone#here(please)&no otherstuff'; - $processedText = text2clickable($text, ''); - $this->assertEquals($expectedText, $processedText); - } - - /** - * Test text2clickable with a redirector set. - */ - public function testText2clickableWithRedirector() - { - $text = 'stuff http://hello.there/is=someone#here otherstuff'; - $redirector = 'http://redirector.to'; - $expectedText = 'stuff http://hello.there/is=someone#here otherstuff'; - $processedText = text2clickable($text, $redirector); - $this->assertEquals($expectedText, $processedText); - } - - /** - * Test text2clickable a redirector set and without URL encode. - */ - public function testText2clickableWithRedirectorDontEncode() - { - $text = 'stuff http://hello.there/?is=someone&or=something#here otherstuff'; - $redirector = 'http://redirector.to'; - $expectedText = 'stuff http://hello.there/?is=someone&or=something#here otherstuff'; - $processedText = text2clickable($text, $redirector, false); - $this->assertEquals($expectedText, $processedText); - } - - /** - * Test testSpace2nbsp. - */ - public function testSpace2nbsp() - { - $text = ' Are you thrilled by flags ?'. PHP_EOL .' Really?'; - $expectedText = '  Are you   thrilled  by flags   ?'. PHP_EOL .' Really?'; - $processedText = space2nbsp($text); - $this->assertEquals($expectedText, $processedText); - } - - /** - * Test hashtags auto-link. - */ - public function testHashtagAutolink() - { - $index = 'http://domain.tld/'; - $rawDescription = '#hashtag\n - # nothashtag\n - test#nothashtag #hashtag \#nothashtag\n - test #hashtag #hashtag test #hashtag.test\n - #hashtag #hashtag-nothashtag #hashtag_hashtag\n - What is #ашок anyway?\n - カタカナ #カタカナ」カタカナ\n'; - $autolinkedDescription = hashtag_autolink($rawDescription, $index); - - $this->assertContains($this->getHashtagLink('hashtag', $index), $autolinkedDescription); - $this->assertNotContains(' #hashtag', $autolinkedDescription); - $this->assertNotContains('>#nothashtag', $autolinkedDescription); - $this->assertContains($this->getHashtagLink('ашок', $index), $autolinkedDescription); - $this->assertContains($this->getHashtagLink('カタカナ', $index), $autolinkedDescription); - $this->assertContains($this->getHashtagLink('hashtag_hashtag', $index), $autolinkedDescription); - $this->assertNotContains($this->getHashtagLink('hashtag-nothashtag', $index), $autolinkedDescription); - } - - /** - * Test hashtags auto-link without index URL. - */ - public function testHashtagAutolinkNoIndex() - { - $rawDescription = 'blabla #hashtag x#nothashtag'; - $autolinkedDescription = hashtag_autolink($rawDescription); - - $this->assertContains($this->getHashtagLink('hashtag'), $autolinkedDescription); - $this->assertNotContains(' #hashtag', $autolinkedDescription); - $this->assertNotContains('>#nothashtag', $autolinkedDescription); - } - - /** - * Util function to build an hashtag link. - * - * @param string $hashtag Hashtag name. - * @param string $index Index URL. - * - * @return string HTML hashtag link. - */ - private function getHashtagLink($hashtag, $index = '') - { - $hashtagLink = '#$1'; - return str_replace('$1', $hashtag, $hashtagLink); - } -} - -// old style mock: PHPUnit doesn't allow function mock - -/** - * Returns code 200 or html content type. - * - * @param resource $ch cURL resource - * @param int $type cURL info type - * - * @return int|string 200 or 'text/html' - */ -function ut_curl_getinfo_ok($ch, $type) -{ - switch ($type) { - case CURLINFO_RESPONSE_CODE: - return 200; - case CURLINFO_CONTENT_TYPE: - return 'text/html; charset=utf-8'; - } -} - -/** - * Returns code 200 or html content type without charset. - * - * @param resource $ch cURL resource - * @param int $type cURL info type - * - * @return int|string 200 or 'text/html' - */ -function ut_curl_getinfo_no_charset($ch, $type) -{ - switch ($type) { - case CURLINFO_RESPONSE_CODE: - return 200; - case CURLINFO_CONTENT_TYPE: - return 'text/html'; - } -} - -/** - * Invalid response code. - * - * @param resource $ch cURL resource - * @param int $type cURL info type - * - * @return int|string 404 or 'text/html' - */ -function ut_curl_getinfo_rc_ko($ch, $type) -{ - switch ($type) { - case CURLINFO_RESPONSE_CODE: - return 404; - case CURLINFO_CONTENT_TYPE: - return 'text/html; charset=utf-8'; - } -} - -/** - * Invalid content type. - * - * @param resource $ch cURL resource - * @param int $type cURL info type - * - * @return int|string 200 or 'text/plain' - */ -function ut_curl_getinfo_ct_ko($ch, $type) -{ - switch ($type) { - case CURLINFO_RESPONSE_CODE: - return 200; - case CURLINFO_CONTENT_TYPE: - return 'text/plain'; - } -} - -/** - * Invalid response code and content type. - * - * @param resource $ch cURL resource - * @param int $type cURL info type - * - * @return int|string 404 or 'text/plain' - */ -function ut_curl_getinfo_rs_ct_ko($ch, $type) -{ - switch ($type) { - case CURLINFO_RESPONSE_CODE: - return 404; - case CURLINFO_CONTENT_TYPE: - return 'text/plain'; - } -} -- cgit v1.2.3