@@ -26,69 +26,90 @@ public function legacyTest(): void
2626 assertType ('array{ \'abcdef \'} ' , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLength );
2727
2828 $ mbStrSplitConstantStringWithFailureSplitLength = mb_str_split ('abcdef ' , 0 );
29- assertType ('false ' , $ mbStrSplitConstantStringWithFailureSplitLength );
29+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithFailureSplitLength );
3030
3131 $ mbStrSplitConstantStringWithInvalidSplitLengthType = mb_str_split ('abcdef ' , []);
32- assertType ('list<string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthType );
32+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthType );
3333
3434 $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLength = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , 1 );
3535 assertType ("array{'a', 'b', 'c', 'd', 'e', 'f'}|array{'g', 'h', 'i', 'j', 'k', 'l'} " , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLength );
3636
3737 $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLength = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , doFoo () ? 1 : 2 );
38- assertType ('list<string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLength );
38+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLength );
3939
4040 $ mbStrSplitConstantStringWithOneSplitLengthAndValidEncoding = mb_str_split ('abcdef ' , 1 , 'UTF-8 ' );
4141 assertType ("array{'a', 'b', 'c', 'd', 'e', 'f'} " , $ mbStrSplitConstantStringWithOneSplitLengthAndValidEncoding );
4242
4343 $ mbStrSplitConstantStringWithOneSplitLengthAndInvalidEncoding = mb_str_split ('abcdef ' , 1 , 'FAKE ' );
44- assertType ('false ' , $ mbStrSplitConstantStringWithOneSplitLengthAndInvalidEncoding );
44+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithOneSplitLengthAndInvalidEncoding );
4545
4646 $ mbStrSplitConstantStringWithOneSplitLengthAndVariableEncoding = mb_str_split ('abcdef ' , 1 , doFoo ());
47- assertType ('list<string> ' , $ mbStrSplitConstantStringWithOneSplitLengthAndVariableEncoding );
47+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithOneSplitLengthAndVariableEncoding );
4848
4949 $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndValidEncoding = mb_str_split ('abcdef ' , 999 , 'UTF-8 ' );
5050 assertType ("array{'abcdef'} " , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndValidEncoding );
5151
5252 $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndInvalidEncoding = mb_str_split ('abcdef ' , 999 , 'FAKE ' );
53- assertType ('false ' , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndInvalidEncoding );
53+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndInvalidEncoding );
5454
5555 $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndVariableEncoding = mb_str_split ('abcdef ' , 999 , doFoo ());
56- assertType ('list<string> ' , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndVariableEncoding );
56+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithGreaterSplitLengthThanStringLengthAndVariableEncoding );
5757
5858 $ mbStrSplitConstantStringWithFailureSplitLengthAndValidEncoding = mb_str_split ('abcdef ' , 0 , 'UTF-8 ' );
59- assertType ('false ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndValidEncoding );
59+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndValidEncoding );
6060
6161 $ mbStrSplitConstantStringWithFailureSplitLengthAndInvalidEncoding = mb_str_split ('abcdef ' , 0 , 'FAKE ' );
62- assertType ('false ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndInvalidEncoding );
62+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndInvalidEncoding );
6363
6464 $ mbStrSplitConstantStringWithFailureSplitLengthAndVariableEncoding = mb_str_split ('abcdef ' , 0 , doFoo ());
65- assertType ('false ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndVariableEncoding );
65+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithFailureSplitLengthAndVariableEncoding );
6666
6767 $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndValidEncoding = mb_str_split ('abcdef ' , [], 'UTF-8 ' );
68- assertType ('list<string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndValidEncoding );
68+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndValidEncoding );
6969
7070 $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndInvalidEncoding = mb_str_split ('abcdef ' , [], 'FAKE ' );
71- assertType ('false ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndInvalidEncoding );
71+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndInvalidEncoding );
7272
7373 $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndVariableEncoding = mb_str_split ('abcdef ' , [], doFoo ());
74- assertType ('list<string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndVariableEncoding );
74+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithInvalidSplitLengthTypeAndVariableEncoding );
7575
7676 $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndValidEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , 1 , 'UTF-8 ' );
7777 assertType ("array{'a', 'b', 'c', 'd', 'e', 'f'}|array{'g', 'h', 'i', 'j', 'k', 'l'} " , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndValidEncoding );
7878
7979 $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndInvalidEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , 1 , 'FAKE ' );
80- assertType ('false ' , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndInvalidEncoding );
80+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndInvalidEncoding );
8181
8282 $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndVariableEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , 1 , doFoo ());
83- assertType ('list<string> ' , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndVariableEncoding );
83+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithVariableStringAndConstantSplitLengthAndVariableEncoding );
8484
8585 $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndValidEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , doFoo () ? 1 : 2 , 'UTF-8 ' );
86- assertType ('list<string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndValidEncoding );
86+ assertType ('non-empty- list<non-empty- string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndValidEncoding );
8787
8888 $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndInvalidEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , doFoo () ? 1 : 2 , 'FAKE ' );
89- assertType ('false ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndInvalidEncoding );
89+ assertType ('*NEVER* ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndInvalidEncoding );
9090
9191 $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndVariableEncoding = mb_str_split (doFoo () ? 'abcdef ' : 'ghijkl ' , doFoo () ? 1 : 2 , doFoo ());
92- assertType ('list<string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndVariableEncoding );
92+ assertType ('non-empty-list<non-empty-string> ' , $ mbStrSplitConstantStringWithVariableStringAndVariableSplitLengthAndVariableEncoding );
93+ }
94+
95+ /**
96+ * @param non-empty-string $nonEmptyString
97+ * @param non-falsy-string $nonFalsyString
98+ */
99+ function doFoo (
100+ string $ string ,
101+ string $ nonEmptyString ,
102+ string $ nonFalsyString ,
103+ string $ lowercaseString ,
104+ string $ uppercaseString ,
105+ int $ integer ,
106+ ):void {
107+ assertType ('list<string> ' , mb_str_split ($ string ));
108+ assertType ('non-empty-list<non-empty-string> ' , mb_str_split ($ nonEmptyString ));
109+ assertType ('non-empty-list<non-empty-string> ' , mb_str_split ($ nonFalsyString ));
110+
111+ assertType ('list<string> ' , mb_str_split ($ string , $ integer ));
112+ assertType ('non-empty-list<non-empty-string> ' , mb_str_split ($ nonEmptyString , $ integer ));
113+ assertType ('non-empty-list<non-empty-string> ' , mb_str_split ($ nonFalsyString , $ integer ));
93114 }
94115}
0 commit comments