'Date: Sat, 28 Oct 2017 12:01:33 GMT',
'Content-Type: text/html; charset=utf-8',
'Status: 200 OK',
- 'end' => 'th=device-width"><title>Refactoring · GitHub</title><link rel="search" type="application/opensea',
+ 'end' => 'th=device-width">'
+ .'<title>Refactoring · GitHub</title>'
+ .'<link rel="search" type="application/opensea',
'<title>ignored</title>',
];
foreach ($data as $key => $line) {
$callback = get_curl_download_callback($charset, $title, 'ut_curl_getinfo_no_charset');
$data = [
'HTTP/1.1 200 OK',
- 'end' => 'th=device-width"><title>Refactoring · GitHub</title><link rel="search" type="application/opensea',
+ 'end' => 'th=device-width">'
+ .'<title>Refactoring · GitHub</title>'
+ .'<link rel="search" type="application/opensea',
'<title>ignored</title>',
];
foreach ($data as $key => $line) {
$data = [
'HTTP/1.1 200 OK',
'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />',
- 'end' => 'th=device-width"><title>Refactoring · GitHub</title><link rel="search" type="application/opensea',
+ 'end' => 'th=device-width">'
+ .'<title>Refactoring · GitHub</title>'
+ .'<link rel="search" type="application/opensea',
'<title>ignored</title>',
];
foreach ($data as $key => $line) {
public function testText2clickableWithoutRedirector()
{
$text = 'stuff http://hello.there/is=someone#here otherstuff';
- $expectedText = 'stuff <a href="http://hello.there/is=someone#here">http://hello.there/is=someone#here</a> otherstuff';
+ $expectedText = 'stuff <a href="http://hello.there/is=someone#here">'
+ .'http://hello.there/is=someone#here</a> otherstuff';
+ $processedText = text2clickable($text, '');
+ $this->assertEquals($expectedText, $processedText);
+
+ $text = 'stuff http://hello.there/is=someone#here(please) otherstuff';
+ $expectedText = 'stuff <a href="http://hello.there/is=someone#here(please)">'
+ .'http://hello.there/is=someone#here(please)</a> otherstuff';
+ $processedText = text2clickable($text, '');
+ $this->assertEquals($expectedText, $processedText);
+
+ $text = 'stuff http://hello.there/is=someone#here(please)&no otherstuff';
+ $expectedText = 'stuff <a href="http://hello.there/is=someone#here(please)&no">'
+ .'http://hello.there/is=someone#here(please)&no</a> otherstuff';
$processedText = text2clickable($text, '');
$this->assertEquals($expectedText, $processedText);
}
/**
- * Test text2clickable a redirector set.
+ * Test text2clickable with a redirector set.
*/
public function testText2clickableWithRedirector()
{
$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 <a href="'.
+ $redirector .
+ 'http://hello.there/?is=someone&or=something#here' .
+ '">http://hello.there/?is=someone&or=something#here</a> otherstuff';
+ $processedText = text2clickable($text, $redirector, false);
+ $this->assertEquals($expectedText, $processedText);
+ }
+
/**
* Test testSpace2nbsp.
*/
return 'text/plain';
}
}
-