1.20.x unicode.test | UnicodeUnitTest::helperTestSubStr() |
File
- modules/
simpletest/ tests/ unicode.test, line 120 - Various unicode handling tests.
Class
- UnicodeUnitTest
- Test unicode handling features implemented in unicode.inc.
Code
function helperTestSubStr() {
$testcase = array(
// 012345678901234567890123
array('frànçAIS is über-åwesome', 0, 0,
''),
array('frànçAIS is über-åwesome', 0, 1,
'f'),
array('frànçAIS is über-åwesome', 0, 8,
'frànçAIS'),
array('frànçAIS is über-åwesome', 0, 23,
'frànçAIS is über-åwesom'),
array('frànçAIS is über-åwesome', 0, 24,
'frànçAIS is über-åwesome'),
array('frànçAIS is über-åwesome', 0, 25,
'frànçAIS is über-åwesome'),
array('frànçAIS is über-åwesome', 0, 100,
'frànçAIS is über-åwesome'),
array('frànçAIS is über-åwesome', 4, 4,
'çAIS'),
array('frànçAIS is über-åwesome', 1, 0,
''),
array('frànçAIS is über-åwesome', 100, 0,
''),
array('frànçAIS is über-åwesome', -4, 2,
'so'),
array('frànçAIS is über-åwesome', -4, 3,
'som'),
array('frànçAIS is über-åwesome', -4, 4,
'some'),
array('frànçAIS is über-åwesome', -4, 5,
'some'),
array('frànçAIS is über-åwesome', -7, 10,
'åwesome'),
array('frànçAIS is über-åwesome', 5, -10,
'AIS is üb'),
array('frànçAIS is über-åwesome', 0, -10,
'frànçAIS is üb'),
array('frànçAIS is über-åwesome', 0, -1,
'frànçAIS is über-åwesom'),
array('frànçAIS is über-åwesome', -7, -2,
'åweso'),
array('frànçAIS is über-åwesome', -7, -6,
'å'),
array('frànçAIS is über-åwesome', -7, -7,
''),
array('frànçAIS is über-åwesome', -7, -8,
''),
array('...', 0, 2, '..'),
array('以呂波耳・ほへとち。リヌルヲ。', 1, 3,
'呂波耳'),
);
foreach ($testcase as $test) {
list($input, $start, $length, $output) = $test;
$result = backdrop_substr($input, $start, $length);
$this->assertEqual($result, $output, format_string('%input substring at offset %offset for %length characters is %output (got %result)', array('%input' => $input, '%offset' => $start, '%length' => $length, '%output' => $output, '%result' => $result)));
}
}