@@ -27,45 +27,68 @@ final class PrepareForOutputTest extends TestCase
2727 * @param string $content The content to prepare.
2828 * @param string[] $exclude A list of characters to leave invisible.
2929 * @param string $expected Expected function output.
30- * @param string $expectedWin Expected function output on Windows (unused in this test).
30+ * @param string $expectedOld Expected function output on PHP<7.1 on Windows (unused in this test).
3131 *
3232 * @requires OS ^(?!WIN).*
3333 * @dataProvider dataPrepareForOutput
3434 *
3535 * @return void
3636 */
37- public function testPrepareForOutput ($ content , $ exclude , $ expected , $ expectedWin )
37+ public function testPrepareForOutput ($ content , $ exclude , $ expected , $ expectedOld )
3838 {
3939 $ this ->assertSame ($ expected , Common::prepareForOutput ($ content , $ exclude ));
4040
4141 }//end testPrepareForOutput()
4242
4343
4444 /**
45- * Test formatting whitespace characters, on Windows.
45+ * Test formatting whitespace characters, on modern PHP on Windows.
4646 *
4747 * @param string $content The content to prepare.
4848 * @param string[] $exclude A list of characters to leave invisible.
49- * @param string $expected Expected function output (unused in this test) .
50- * @param string $expectedWin Expected function output on Windows.
49+ * @param string $expected Expected function output.
50+ * @param string $expectedOld Expected function output on PHP<7.1 on Windows (unused in this test) .
5151 *
5252 * @requires OS ^WIN.*.
53+ * @requires PHP >= 7.1
5354 * @dataProvider dataPrepareForOutput
5455 *
5556 * @return void
5657 */
57- public function testPrepareForOutputWindows ($ content , $ exclude , $ expected , $ expectedWin )
58+ public function testPrepareForOutputWindows ($ content , $ exclude , $ expected , $ expectedOld )
5859 {
59- $ this ->assertSame ($ expectedWin , Common::prepareForOutput ($ content , $ exclude ));
60+ $ this ->assertSame ($ expected , Common::prepareForOutput ($ content , $ exclude ));
6061
6162 }//end testPrepareForOutputWindows()
6263
6364
65+ /**
66+ * Test formatting whitespace characters, on PHP<7.1 on Windows.
67+ *
68+ * @param string $content The content to prepare.
69+ * @param string[] $exclude A list of characters to leave invisible.
70+ * @param string $expected Expected function output (unused in this test).
71+ * @param string $expectedOld Expected function output on PHP<7.1 on Windows.
72+ *
73+ * @requires OS ^WIN.*.
74+ * @requires PHP < 7.1
75+ * @dataProvider dataPrepareForOutput
76+ *
77+ * @return void
78+ */
79+ public function testPrepareForOutputOldPHPWindows ($ content , $ exclude , $ expected , $ expectedOld )
80+ {
81+ $ this ->assertSame ($ expectedOld , Common::prepareForOutput ($ content , $ exclude ));
82+
83+ }//end testPrepareForOutputOldPHPWindows()
84+
85+
6486 /**
6587 * Data provider.
6688 *
6789 * @see testPrepareForOutput()
6890 * @see testPrepareForOutputWindows()
91+ * @see testPrepareForOutputOldPHPWindows()
6992 *
7093 * @return array<string, array<string, mixed>>
7194 */
@@ -76,25 +99,25 @@ public static function dataPrepareForOutput()
7699 'content ' => "\r\n\t" ,
77100 'exclude ' => [],
78101 'expected ' => "\033[30;1m \\r \\n \\t \033[0m " ,
79- 'expectedWin ' => "\033[30;1m \\r \\n \\t \033[0m " ,
102+ 'expectedOld ' => "\033[30;1m \\r \\n \\t \033[0m " ,
80103 ],
81104 'Spaces are replaced with a unique mark ' => [
82105 'content ' => " " ,
83106 'exclude ' => [],
84107 'expected ' => "\033[30;1m···· \033[0m " ,
85- 'expectedWin ' => " " ,
108+ 'expectedOld ' => " " ,
86109 ],
87110 'Other characters are unaffected ' => [
88111 'content ' => "{echo 1;} " ,
89112 'exclude ' => [],
90113 'expected ' => "{echo \033[30;1m· \033[0m1;} " ,
91- 'expectedWin ' => "{echo 1;} " ,
114+ 'expectedOld ' => "{echo 1;} " ,
92115 ],
93116 'No replacements ' => [
94117 'content ' => 'nothing-should-be-replaced ' ,
95118 'exclude ' => [],
96119 'expected ' => 'nothing-should-be-replaced ' ,
97- 'expectedWin ' => 'nothing-should-be-replaced ' ,
120+ 'expectedOld ' => 'nothing-should-be-replaced ' ,
98121 ],
99122 'Excluded whitespace characters are unaffected ' => [
100123 'content ' => "\r\n\t " ,
@@ -103,7 +126,7 @@ public static function dataPrepareForOutput()
103126 "\n" ,
104127 ],
105128 'expected ' => "\r\n\033[30;1m \\t· \033[0m " ,
106- 'expectedWin ' => "\r\n\033[30;1m \\t \033[0m " ,
129+ 'expectedOld ' => "\r\n\033[30;1m \\t \033[0m " ,
107130 ],
108131 ];
109132
0 commit comments