@@ -193,4 +193,51 @@ public void testEquals() {
193193 Truth .assertThat (pattern1 .hashCode ()).isEqualTo (pattern2 .hashCode ());
194194 Truth .assertThat (pattern1 ).isNotEqualTo (pattern4 );
195195 }
196+
197+ @ Test
198+ public void testUnicodeWordBoundary () {
199+ final String pattern = "l\\ p{L}*\\ b" ;
200+ final String text = "l\u00E0 " ;
201+ {
202+ final java .util .regex .Matcher matcher = java .util .regex .Pattern .compile (pattern ).matcher (text );
203+ assertEquals (true , matcher .find ());
204+ assertEquals ("l\u00E0 " , text .substring (matcher .start (), matcher .end ()));
205+ }
206+ {
207+ final com .google .re2j .Matcher matcher = com .google .re2j .Pattern .compile (pattern ).matcher (text );
208+ assertEquals (true , matcher .find ());
209+ assertEquals ("l\u00E0 " , text .substring (matcher .start (), matcher .end ()));
210+ }
211+ }
212+
213+ @ Test
214+ public void testUnicodeWordBoundary2 () {
215+ final String pattern = "d\u00E9 \\ p{L}*\\ b" ;
216+ {
217+ final String text = "d\u00E9 s" ;
218+ {
219+ final java .util .regex .Matcher matcher = java .util .regex .Pattern .compile (pattern ).matcher (text );
220+ assertEquals (true , matcher .find ());
221+ assertEquals ("d\u00E9 s" , text .substring (matcher .start (), matcher .end ()));
222+ }
223+ {
224+ final com .google .re2j .Matcher matcher = com .google .re2j .Pattern .compile (pattern ).matcher (text );
225+ assertEquals (true , matcher .find ());
226+ assertEquals ("d\u00E9 s" , text .substring (matcher .start (), matcher .end ()));
227+ }
228+ }
229+ {
230+ final String text = "d\u00E9 " ;
231+ {
232+ final java .util .regex .Matcher matcher = java .util .regex .Pattern .compile (pattern ).matcher (text );
233+ assertEquals (true , matcher .find ());
234+ assertEquals ("d\u00E9 " , text .substring (matcher .start (), matcher .end ()));
235+ }
236+ {
237+ final com .google .re2j .Matcher matcher = com .google .re2j .Pattern .compile (pattern ).matcher (text );
238+ assertEquals (true , matcher .find ());
239+ assertEquals ("d\u00E9 " , text .substring (matcher .start (), matcher .end ()));
240+ }
241+ }
242+ }
196243}
0 commit comments