package Ġfr . free . n rw . commons . upload Ċ Ċ import Ġandroid . text . Sp ann able StringBuilder Ċ import Ġfr . free . n rw . commons . Test Common s Application Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . annotation . Config Ċ import Ġorg . ro bo lectric . annotation . Looper Mode Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( sdk Ġ= Ġ[ 2 1 ], Ġapplication Ġ= ĠTest Common s Application :: class ) Ċ @ Looper Mode ( Looper Mode . Mode . PA USED ) Ċ class ĠUpload Media Detail Input Filter Test Ġ{ ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Generic () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfilter Ġ= ĠUpload Media Detail Input Filter () ĊĠĠĠĠĠĠĠ Ġval Ġfilters Ġ= ĠarrayOf ( filter ) ĊĠĠĠĠĠĠĠ Ġval Ġdestination Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġdestination . filters Ġ= Ġfilters ĊĊĠĠĠĠĠĠĠ Ġval Ġtest : ĠCharSequence Ġ= Ġ" test " ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġ" test " ĊĠĠĠĠĠĠĠ Ġdestination . insert ( 0 , Ġtest ) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( destination . toString (), Ġexpected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Un usual Spaces () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġ// All Ġun usual Ġspace Ġcharacters ĊĠĠĠĠĠĠĠ Ġval Ġtests Ġ= Ġint ArrayOf ( 0 x 0 0 A 0 , Ġ 0 x 1 6 8 0 , Ġ 0 x 1 8 0 E , Ġ 0 x 2 0 0 0 , Ġ 0 x 2 0 0 5 , Ġ 0 x 2 0 0 B , Ġ 0 x 2 0 2 8 , Ġ 0 x 2 0 2 9 , Ġ 0 x 2 0 2 F , Ġ 0 x 2 0 5 F , Ġ 0 x 3 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Bi Di Overrides () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġ// Sample Ġof ĠBi DI Ġoverride Ġcharacters ĊĠĠĠĠĠĠĠ Ġval Ġtests Ġ= Ġint ArrayOf ( 0 x 2 0 2 A , Ġ 0 x 2 0 2 B , Ġ 0 x 2 0 2 C , Ġ 0 x 2 0 2 D , Ġ 0 x 2 0 2 E ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Control Characters () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġ// Sample Ġof Ġcontrol Ġcharacters ĊĠĠĠĠĠĠĠ Ġval Ġtests Ġ= Ġint ArrayOf ( 0 x 0 0 , Ġ 0 x 0 8 , Ġ 0 x 1 0 , Ġ 0 x 1 8 , Ġ 0 x 1 F , Ġ 0 x 7 F ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Byte Order Mark () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( 0 xFE FF ))) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Soft Hy phen () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( 0 x 0 0 AD ))) ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Special s () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġ// Sample Ġof Ġsur rogate Ġand Ġspecial Ġcharacters ĊĠĠĠĠĠĠĠ Ġval Ġtests Ġ= Ġint ArrayOf ( 0 xE 0 0 0 , Ġ 0 xE 6 3 F , Ġ 0 xE C 7 E , Ġ 0 xF 2 BD , Ġ 0 xF 8 FF , Ġ 0 xFF F 0 , Ġ 0 xFF F 4 , Ġ 0 xFF FC , Ġ 0 xFFFF ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Filter Non Basic Plane () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġbuilder . filters Ġ= ĠarrayOf ( Upload Media Detail Input Filter ()) ĊĊĠĠĠĠĠĠĠ Ġ// Sample Ġof Ġcharacters Ġover Ġ 5 Ġhex Ġplaces Ġnot Ġin Ġthe ĠHan Ġset ĊĠĠĠĠĠĠĠ Ġval Ġtests Exclude Ġ= Ġint ArrayOf ( 0 x 1 FFFF , Ġ 0 x 4 4 4 4 4 , Ġ 0 xFFFF F ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests Exclude ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Sample Ġof Ġcharacters Ġover Ġ 5 Ġhex Ġplaces Ġin Ġthe ĠHan Ġset ĊĠĠĠĠĠĠĠ Ġval Ġtests Include Ġ= Ġint ArrayOf ( 0 x 2 0 0 0 0 , Ġ 0 x 2 B 7 4 0 , Ġ 0 x 2 F 8 0 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= ĠSp ann able StringBuilder ("") ĊĠĠĠĠĠĠĠ Ġfor Ġ( test : ĠInt Ġin Ġtests Include ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexpected . insert ( 0 , ĠString ( Character . to Chars ( test ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠAssert . assertEquals ( builder . toString (), Ġexpected . toString ()) ĊĠĠĠ Ġ} Ċ }