@@ -26,69 +26,90 @@ public function legacyTest(): void
2626assertType ('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 );
3535assertType ("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 ' );
4141assertType ("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 ' );
5050assertType ("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 ' );
7777assertType ("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