/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . compose . foundation . text Ċ Ċ import Ġandroidx . compose . ui . text . Annotated String Ċ import Ġandroidx . compose . ui . text . Multi Paragraph Ċ import Ġandroidx . compose . ui . text . Multi Paragraph Intr insics Ċ import Ġandroidx . compose . ui . text . Placeholder Ċ import Ġandroidx . compose . ui . text . Placeholder Vertical Align Ċ import Ġandroidx . compose . ui . text . Text Layout Input Ċ import Ġandroidx . compose . ui . text . Text Layout Result Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . text . font . Font Family Ċ import Ġandroidx . compose . ui . text . style . Text Overflow Ċ import Ġandroidx . compose . ui . unit . Constraints Ċ import Ġandroidx . compose . ui . unit . Density Ċ import Ġandroidx . compose . ui . unit . Int Size Ċ import Ġandroidx . compose . ui . unit . Layout Direction Ċ import Ġandroidx . compose . ui . unit . em Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . mock Ċ import Ġcom . n ha ar man . mock it ok otlin 2 . wh enever Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . JUnit 4 Ċ Ċ @ RunWith ( JUnit 4 :: class ) Ċ class ĠText Layout Helper Test Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar ĠfontFamily Resolver : ĠFont Family . Resolver ĊĊĠĠĠ Ġlateinit Ġvar Ġreference Result : ĠText Layout Result ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= Ġmock () ĊĊĠĠĠĠĠĠĠ Ġval Ġintr insics Ġ= Ġmock < Multi Paragraph Intr insics >() ĊĠĠĠĠĠĠĠ Ġval Ġmulti Paragraph Ġ= Ġmock < Multi Paragraph >() ĊĠĠĠĠĠĠĠ Ġwhenever ( multi Paragraph . intr insics ). thenReturn ( intr insics ) ĊĠĠĠĠĠĠĠ Ġwhenever ( intr insics . has St ale Resolved Fonts ). thenReturn ( false ) ĊĠĠĠĠĠĠĠ Ġreference Result Ġ= ĠText Layout Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText Layout Input ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Paragraph Ġ= Ġmulti Paragraph , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= ĠInt Size ( 5 0 , Ġ 5 0 ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ same () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isTrue () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ text () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠAndroid "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ style () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle ( fontSize Ġ= Ġ 1 . 5 . em ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ max Lines () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ soft Wrap () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ overflow () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . Clip , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ density () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 2 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ layout Direction () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . R tl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ resource Loader () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= Ġmock (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ constraints Width () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= ĠConstraints . fixed Width ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ constraints Height () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= ĠConstraints . fixed Height ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ different _ placeholders () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertThat ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAnnot ated String . Range ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= ĠPlace holder ( 1 0 . sp , Ġ 2 0 . sp , ĠPlace holder Vertical Align . Above Baseline ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= ĠConstraints . fixed Width ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ). isFalse () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Can Re use _ not Latest Type faces _ isFalse () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstraints Ġ= ĠConstraints . fixed Width ( 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġwhenever ( reference Result . multi Paragraph . intr insics . has St ale Resolved Fonts ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thenReturn ( true ) ĊĠĠĠĠĠĠĠ ĠassertThat ( reference Result . can Re use ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠAnnot ated String . Builder (" Hello , ĠWorld "). to Annotated String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholders Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsoft Wrap Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdensity Ġ= ĠD ensity ( 1 . 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Direction Ġ= ĠLayout Direction . L tr , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Resolver Ġ= ĠfontFamily Resolver , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconstraints Ġ= Ġconstraints ĊĠĠĠĠĠĠĠ Ġ )). isFalse () ĊĠĠĠ Ġ} Ċ } Ċ