forked from WordPress/wordpress-develop
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmbStrlen.php
More file actions
69 lines (63 loc) · 1.44 KB
/
mbStrlen.php
File metadata and controls
69 lines (63 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
/**
* @group compat
* @group security-153
*
* @covers ::mb_strlen
* @covers ::_mb_strlen
*/
class Tests_Compat_mbStrlen extends WP_UnitTestCase {
/**
* Test that the native mb_strlen() is available.
*/
public function test_mb_strlen_availability() {
$this->assertTrue(
in_array( 'mb_strlen', get_defined_functions()['internal'], true ),
'Test runner should have `mbstring` extension active but doesn’t.'
);
}
/**
* @dataProvider data_utf8_strings
*/
public function test_mb_strlen( $input_string ) {
$this->assertSame(
mb_strlen( $input_string, 'UTF-8' ),
_mb_strlen( $input_string, 'UTF-8' )
);
}
/**
* @dataProvider data_utf8_strings
*/
public function test_mb_strlen_via_regex( $input_string ) {
$this->assertSame(
mb_strlen( $input_string, 'UTF-8' ),
_mb_strlen( $input_string, 'UTF-8' )
);
}
/**
* @dataProvider data_utf8_strings
*/
public function test_8bit_mb_strlen( $input_string ) {
$this->assertSame(
mb_strlen( $input_string, '8bit' ),
_mb_strlen( $input_string, '8bit' )
);
}
/**
* Data provider.
*
* @return array
*/
public function data_utf8_strings() {
return array(
array( 'баба' ),
array( 'баб' ),
array( 'I am your б' ),
array( '1111111111' ),
array( '²²²²²²²²²²' ),
array( '3333333333' ),
array( '𝟜𝟜𝟜𝟜𝟜𝟜𝟜𝟜𝟜𝟜' ),
array( '1²3𝟜1²3𝟜1²3𝟜' ),
);
}
}