$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);␊ |
}␊ |
␊ |
}␊ |
}␊ |