UNPKG

yoastseo-dep

Version:

Yoast clientside page analysis

73 lines (68 loc) 4.2 kB
import { stripWordBoundariesStart, stripWordBoundariesEnd, stripWordBoundariesEverywhere, } from "../../../../src/languageProcessing/helpers/sanitize/stripWordBoundaries.js"; describe( "A test to check if word boundaries are removed from words.", function() { it( "returns a string with word boundaries in the beginning of the word removed", function() { expect( stripWordBoundariesStart( "?keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ".keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ",keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "'keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "(keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ")keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "\"keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "+keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "-keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ";keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "!keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "?keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ":keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "/keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "»keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "«keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "‹keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "›keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "<keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ">keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( ">! \"keyword" ) ).toBe( "keyword" ); expect( stripWordBoundariesStart( "keyword" ) ).toBe( "keyword" ); } ); it( "returns a string with word boundaries in the end of the word removed", function() { expect( stripWordBoundariesEnd( "keyword." ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword," ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword'" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword(" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword)" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword\"" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword+" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword-" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword;" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword!" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword?" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword:" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword/" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword»" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword«" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword‹" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword›" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword<" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword>" ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword< ?." ) ).toBe( "keyword" ); expect( stripWordBoundariesEnd( "keyword" ) ).toBe( "keyword" ); } ); it( "returns a string with word-final boundaries removed in an RTL script", function() { // Arabic comma expect( stripWordBoundariesEnd( "المقاومة،" ) ).toBe( "المقاومة" ); // Arabic question mark expect( stripWordBoundariesEnd( "الجيدة؟" ) ).toBe( "الجيدة" ); // Arabic semicolon expect( stripWordBoundariesEnd( "الجيدة؛" ) ).toBe( "الجيدة" ); // Urdu full stop expect( stripWordBoundariesEnd( "گئے۔" ) ).toBe( "گئے" ); } ); it( "returns a string with word boundaries in the end of the word removed", function() { expect( stripWordBoundariesEverywhere( "?keyword " ) ).toBe( "keyword" ); expect( stripWordBoundariesEverywhere( "keyword" ) ).toBe( "keyword" ); } ); } );