function UnicodeUnitTest::helperTestSubStr in Drupal 7
2 calls to UnicodeUnitTest::helperTestSubStr()
- UnicodeUnitTest::testEmulatedUnicode in modules/
simpletest/ tests/ unicode.test - Test emulated unicode features.
- UnicodeUnitTest::testMbStringUnicode in modules/
simpletest/ tests/ unicode.test - Test full unicode features implemented using the mbstring extension.
File
- modules/
simpletest/ tests/ unicode.test, line 128 - 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 = drupal_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,
)));
}
}