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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
<?php
namespace SMW\Tests\Utils;
use SMW\Utils\CharArmor;
/**
* @covers \SMW\Utils\CharArmor
* @group semantic-mediawiki
*
* @license GNU GPL v2+
* @since 3.0
*
* @author mwjames
*/
class CharArmorTest extends \PHPUnit_Framework_TestCase {
/**
* @dataProvider invisibleControlCharactersProvider
*/
public function testRemoveControlChars( $withControlChar, $expected ) {
$this->assertFalse(
$expected === $withControlChar
);
$this->assertEquals(
$expected,
CharArmor::removeControlChars( $withControlChar )
);
}
/**
* @dataProvider specialCharactersProvider
*/
public function testRemoveSpecialChars( $withSpecialChar, $expected ) {
$this->assertEquals(
$expected,
CharArmor::removeSpecialChars( $withSpecialChar )
);
}
public function invisibleControlCharactersProvider() {
$provider[] = [
'[[Left-To-Right Mark::""]]',
'[[Left-To-Right Mark::""]]'
];
$provider[] = [
'[[Right-To-Left Mark::""]]',
'[[Right-To-Left Mark::""]]'
];
$provider[] = [
'[[Zero-WidthSpace::""]]',
'[[Zero-WidthSpace::""]]'
];
$provider[] = [
'[[Zero Width Non-Joiner::""]]',
'[[Zero Width Non-Joiner::""]]'
];
$provider[] = [
'[[Zero Width Joiner::""]]',
'[[Zero Width Joiner::""]]'
];
return $provider;
}
public function specialCharactersProvider() {
$provider[] = [
'visible shy­ness',
'visible shyness'
];
$provider[] = [
'leftToRight‎Mark',
'leftToRightMark'
];
$provider[] = [
'[[Figure Space::" "]]',
'[[Figure Space::" "]]'
];
$provider[] = [
'[[En Quad::" "]]',
'[[En Quad::" "]]'
];
$provider[] = [
'[[Hair Space::" "]]',
'[[Hair Space::" "]]'
];
return $provider;
}
}
|