| $log_lines = preg_split("/\015\012|\015|\012/", file_get_contents(dirname(__FILE__).'/data/git-log-iso-8859-1.txt'));␊ |
| $log = IDF_Scm_Git::parseLog($log_lines);␊ |
| $titles = array(␊ |
| 'Quick Profiler entfernt',␊ |
| 'Anwendungsmenu Divider eingefügt',␊ |
| 'Anwendungen aufäumen'␊ |
| array('Quick Profiler entfernt', 'UTF-8'),␊ |
| array('Anwendungsmenu Divider eingefügt', 'ISO-8859-1'),␊ |
| array('Anwendungen aufäumen', 'ISO-8859-1'),␊ |
| );␊ |
| foreach ($log as $change) {␊ |
| $this->assertEqual(array_shift($titles),␊ |
| IDF_Commit::toUTF8($change->title));␊ |
| list($title, $senc) = array_shift($titles);␊ |
| list($conv, $encoding) = IDF_Commit::toUTF8($change->title, true);␊ |
| $this->assertEqual($title, $conv);␊ |
| $this->assertEqual($senc, $encoding);␊ |
| }␊ |
| ␊ |
| }␊ |
| ␊ |
| /**␊ |
|
| $log_lines = preg_split("/\015\012|\015|\012/", file_get_contents(dirname(__FILE__).'/data/git-log-iso-8859-2.txt'));␊ |
| $log = IDF_Scm_Git::parseLog($log_lines);␊ |
| $titles = array(␊ |
| 'Dodałem model',␊ |
| 'Dodałem model',␊ |
| array('Doda³em model','ISO-8859-1'),␊ |
| array('Doda³em model','ISO-8859-1'),␊ |
| // The Good result is 'Dodałem model', the␊ |
| // problem is that in that case, one cannot␊ |
| // distinguish between latin1 and latin2. We␊ |
| // will need to add a way for the project␊ |
| // admin to set the priority between the␊ |
| // encodings.␊ |
| );␊ |
| foreach ($log as $change) {␊ |
| $this->assertEqual(array_shift($titles),␊ |
| IDF_Commit::toUTF8($change->title));␊ |
| list($title, $senc) = array_shift($titles);␊ |
| list($conv, $encoding) = IDF_Commit::toUTF8($change->title, true);␊ |
| $this->assertEqual($title, $conv);␊ |
| $this->assertEqual($senc, $encoding);␊ |
| }␊ |
| ␊ |
| }␊ |
| }␊ |