mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 22:08:20 +01:00
MDL-35206 Fix the links list enumeration in the html2text library
This commit is contained in:
parent
f0d37f4ac5
commit
a7182af94a
@ -584,7 +584,7 @@ class html2text
|
||||
$index = count($this->_link_list);
|
||||
}
|
||||
|
||||
return $display . ' [' . ($index+1) . ']';
|
||||
return $display . ' [' . ($index) . ']';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -12,6 +12,7 @@ Modifications
|
||||
3. Use textlib, not crappy functions that break UTF-8, in the _strtoupper method. (Tim Hunt 2010-11-02)
|
||||
4. Make sure html2text does not destroy '0'. (Tim Hunt 2011-09-21)
|
||||
5. define missing mail charset
|
||||
6. Fixed the links list enumeration (MDL-35206).
|
||||
|
||||
|
||||
Imported from: https://github.com/moodle/custom-html2text/tree/MOODLE_5886_1
|
||||
|
@ -73,6 +73,31 @@ class html2text_testcase extends basic_testcase {
|
||||
$this->assertSame('0', html_to_text('0'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test the links list enumeration.
|
||||
*/
|
||||
public function test_build_link_list() {
|
||||
|
||||
// Note the trailing whitespace left intentionally in the text.
|
||||
$text = 'Total of <a title="List of integrated issues"
|
||||
href="http://tr.mdl.org/sh.jspa?r=1&j=p+%3D+%22I+d%22+%3D">
|
||||
<strong>27 issues</strong></a> and <a href="http://another.url/?f=a&b=2">some</a> other
|
||||
have been fixed <strong><a href="http://third.url/view.php">last week</a></strong>';
|
||||
|
||||
// Do not collect links.
|
||||
$result = html_to_text($text, 5000, false);
|
||||
$this->assertSame('Total of 27 ISSUES and some other have been fixed LAST WEEK', $result);
|
||||
|
||||
// Collect and enumerate links.
|
||||
$result = html_to_text($text, 5000, true);
|
||||
$this->assertSame(0, strpos($result, 'Total of 27 ISSUES [1] and some [2] other have been fixed LAST WEEK [3]'));
|
||||
$this->assertSame(false, strpos($result, '[0]'));
|
||||
$this->assertSame(1, preg_match('|^'.preg_quote('[1] http://tr.mdl.org/sh.jspa?r=1&j=p+%3D+%22I+d%22+%3D').'$|m', $result));
|
||||
$this->assertSame(1, preg_match('|^'.preg_quote('[2] http://another.url/?f=a&b=2').'$|m', $result));
|
||||
$this->assertSame(1, preg_match('|^'.preg_quote('[3] http://third.url/view.php').'$|m', $result));
|
||||
$this->assertSame(false, strpos($result, '[4]'));
|
||||
}
|
||||
|
||||
// ======= Standard html2text conversion features =======
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user