@@ -183,4 +183,76 @@ define([
183183 ) ) . toEqual ( true ) ;
184184 } ) ;
185185 } ) ;
186+
187+ describe ( 'Testing 3 bytes characters only policy (UTF-8)' , function ( ) {
188+ it ( 'rejects data, if any of the characters cannot be stored using UTF-8 collation' , function ( ) {
189+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
190+ $ . validator . prototype , '😅😂' , null
191+ ) ) . toEqual ( false ) ;
192+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
193+ $ . validator . prototype , '😅 test 😂' , null
194+ ) ) . toEqual ( false ) ;
195+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
196+ $ . validator . prototype , '💩 👻 💀' , null
197+ ) ) . toEqual ( false ) ;
198+ } ) ;
199+
200+ it ( 'approves data, if all the characters can be stored using UTF-8 collation' , function ( ) {
201+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
202+ $ . validator . prototype , '' , null
203+ ) ) . toEqual ( true ) ;
204+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
205+ $ . validator . prototype , '!$-_%ç&#?!' , null
206+ ) ) . toEqual ( true ) ;
207+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
208+ $ . validator . prototype , '1234567890' , null
209+ ) ) . toEqual ( true ) ;
210+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
211+ $ . validator . prototype , ' ' , null
212+ ) ) . toEqual ( true ) ;
213+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
214+ $ . validator . prototype , 'test' , null
215+ ) ) . toEqual ( true ) ;
216+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
217+ $ . validator . prototype , 'испытание' , null
218+ ) ) . toEqual ( true ) ;
219+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
220+ $ . validator . prototype , 'тест' , null
221+ ) ) . toEqual ( true ) ;
222+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
223+ $ . validator . prototype , 'փորձարկում' , null
224+ ) ) . toEqual ( true ) ;
225+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
226+ $ . validator . prototype , 'परीक्षण' , null
227+ ) ) . toEqual ( true ) ;
228+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
229+ $ . validator . prototype , 'テスト' , null
230+ ) ) . toEqual ( true ) ;
231+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
232+ $ . validator . prototype , '테스트' , null
233+ ) ) . toEqual ( true ) ;
234+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
235+ $ . validator . prototype , '测试' , null
236+ ) ) . toEqual ( true ) ;
237+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
238+ $ . validator . prototype , '測試' , null
239+ ) ) . toEqual ( true ) ;
240+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
241+ $ . validator . prototype , 'ทดสอบ' , null
242+ ) ) . toEqual ( true ) ;
243+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
244+ $ . validator . prototype , 'δοκιμή' , null
245+ ) ) . toEqual ( true ) ;
246+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
247+ $ . validator . prototype , 'اختبار' , null
248+ ) ) . toEqual ( true ) ;
249+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
250+ $ . validator . prototype , 'تست' , null
251+ ) ) . toEqual ( true ) ;
252+ expect ( $ . validator . methods [ 'validate-no-utf8mb4-characters' ] . call (
253+ $ . validator . prototype , 'מִבְחָן' , null
254+ ) ) . toEqual ( true ) ;
255+ } ) ;
256+ } ) ;
257+
186258} ) ;
0 commit comments