@@ -170,23 +170,39 @@ public function testDLTInfoDoesNotAppearsWhenNotSet(): void
170170 }
171171
172172 /**
173- * @dataProvider unicodeStringDataProvider
173+ * @dataProvider entireGsm7CharSetProvider
174174 * @return void
175175 */
176176 public function testGsm7Identification (string $ message , bool $ expectedGsm7 ): void
177177 {
178178 $ this ->assertEquals ($ expectedGsm7 , SMS ::isGsm7 ($ message ));
179179 }
180180
181- public function unicodeStringDataProvider (): array
181+ public function entireGsm7CharSetProvider (): array
182182 {
183- return [
184- ['this is a text ' , true ],
185- ['This is a text with some tasty characters: [test] ' , true ],
186- ['This is also a GSM7 text ' , true ],
187- ['This is a Çotcha ' , true ],
188- ['This is also a çotcha ' , false ],
189- ['日本語でボナージュ ' , false ],
183+ $ gsm7Characters = [
184+ "@ " , "£ " , "$ " , "¥ " , "è " , "é " , "ù " , "ì " , "ò " , "Ç " , "\n" , "Ø " , "ø " , "\r" , "Å " ,
185+ "å " , "\u 0394 " , "_ " , "\u 03a6 " , "\u 0393 " , "\u 039b " , "\u 03a9 " , "\u 03a0 " , "\u 03a8 " ,
186+ "\u 03a3 " , "\u 0398 " , "\u 039e " , "\u 00a0 " , "Æ " , "æ " , "ß " , "É " , " " , "! " , "\"" , "# " ,
187+ "¤ " , "% " , "& " , "' " , "( " , ") " , "* " , "+ " , ", " , "- " , ". " , "/ " , "0 " , "1 " , "2 " , "3 " ,
188+ "4 " , "5 " , "6 " , "7 " , "8 " , "9 " , ": " , "; " , "< " , "= " , "> " , "? " , "¡ " , "A " , "B " , "C " ,
189+ "D " , "E " , "F " , "G " , "H " , "I " , "J " , "K " , "L " , "M " , "N " , "O " , "P " , "Q " , "R " , "S " ,
190+ "T " , "U " , "V " , "W " , "X " , "Y " , "Z " , "Ä " , "Ö " , "Ñ " , "Ü " , "§ " , "¿ " , "a " , "b " , "c " ,
191+ "d " , "e " , "f " , "g " , "h " , "i " , "j " , "k " , "l " , "m " , "n " , "o " , "p " , "q " , "r " , "s " ,
192+ "t " , "u " , "v " , "w " , "x " , "y " , "z " , "ä " , "ö " , "ñ " , "ü " , "à " ,
190193 ];
194+
195+ $ return = [];
196+
197+ foreach ($ gsm7Characters as $ character ) {
198+ $ return [] = [$ character , true ];
199+ }
200+
201+ $ return [] = ['This is a text with some tasty characters: [test] ' , true ];
202+ $ return [] = ['This is a Çotcha ' , true ];
203+ $ return [] = ['This is also a çotcha ' , false ];
204+ $ return [] = ['日本語でボナージュ ' , false ];
205+
206+ return $ return ;
191207 }
192208}
0 commit comments