@@ -920,6 +920,42 @@ xn.test.suite("Text Range module tests", function(s) {
920920 t . assertFalse ( range . findText ( "Two" , options ) ) ;
921921 } ) ;
922922
923+ s . test ( "findText text with non-breaking space" , function ( t ) {
924+ t . el . innerHTML = 'One Two three' ;
925+ var textNode = t . el . firstChild ;
926+ var range = rangy . createRange ( ) ;
927+ range . collapseToPoint ( textNode , 0 ) ;
928+
929+ var scopeRange = rangy . createRange ( ) ;
930+ scopeRange . selectNodeContents ( t . el ) ;
931+ var options = {
932+ withinRange : scopeRange
933+ } ;
934+
935+ t . assert ( range . findText ( "Two " , options ) ) ;
936+ testRangeBoundaries ( t , range , textNode , 4 , textNode , 8 ) ;
937+ range . collapse ( false ) ;
938+ t . assertFalse ( range . findText ( "Two" , options ) ) ;
939+ } ) ;
940+
941+ s . test ( "findText text with non-breaking space and normal space" , function ( t ) {
942+ t . el . innerHTML = 'One Two three' ;
943+ var textNode = t . el . firstChild ;
944+ var range = rangy . createRange ( ) ;
945+ range . collapseToPoint ( textNode , 0 ) ;
946+
947+ var scopeRange = rangy . createRange ( ) ;
948+ scopeRange . selectNodeContents ( t . el ) ;
949+ var options = {
950+ withinRange : scopeRange
951+ } ;
952+
953+ t . assert ( range . findText ( "Two three" , options ) ) ;
954+ testRangeBoundaries ( t , range , textNode , 4 , textNode , 14 ) ;
955+ range . collapse ( false ) ;
956+ t . assertFalse ( range . findText ( "Two" , options ) ) ;
957+ } ) ;
958+
923959 s . test ( "findText simple text no wrap" , function ( t ) {
924960 t . el . innerHTML = 'Two One Two three' ;
925961 var textNode = t . el . firstChild ;
0 commit comments