@ -239,9 +239,9 @@ describe("Test du moteur de recherche.", () =>
it ( "Doit retourner false, si une donnée testée ne correspond pas à la valeur cherchée." , async ( ) = >
{
searchInput . value = "Hal ogène";
searchInput . value = "Hal l ogène";
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halog e ne" } ) ) . toBeFalse ( ) ; // sensible aux accents
expect ( mySearch . dataIsOk ( { "Famille" : "Halog è ne" } ) ) . toBeFalse ( ) ;
} ) ;
it ( "Doit retourner true, si la valeur recherchée est trouvée dans la donnée recherchée, sans prendre en compte la casse, ni les espaces entourant la saisie." , ( ) = >
@ -254,15 +254,57 @@ describe("Test du moteur de recherche.", () =>
searchInput . value = "gène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
// Insensible à casse :
searchInput . value = "halo" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
// Espace entourant la saisie ignorés :
searchInput . value = " halo " ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
// Par défaut, la recherche doit être tolérante à la casse, à la présence ou non d'accent et ignorer les caractères n'étant ni des lettres, ni des chiffres
searchInput . value = "Halogene" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
searchInput . value = "halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
searchInput . value = "#Halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeTrue ( ) ;
} ) ;
it ( "Si demandé doit traiter les données avant de les comparer de manière à prendre en compte les accents, majuscules ou caractères spéciaux." , ( ) = >
{
// Sensible à casse :
mySearch . searchMode . caseOff = false ;
searchInput . value = "halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeFalse ( ) ;
searchInput . value = "Halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "halogène" } ) ) . toBeFalse ( ) ;
// Sensible aux accents :
mySearch . searchMode . accentOff = false ;
searchInput . value = "Halogene" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeFalse ( ) ;
searchInput . value = "Halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogene" } ) ) . toBeFalse ( ) ;
// Prise en compte des caractères spéciaux :
mySearch . searchMode . specialCharsOff = false ;
searchInput . value = "Halogène^" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeFalse ( ) ;
searchInput . value = "Halogène" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Ha+logène" } ) ) . toBeFalse ( ) ;
// Ignore les caractères spéciaux, sauf ceux en liste blanche :
mySearch . searchMode . specialCharsOff = true ;
mySearch . searchMode . specialCharsWhiteList = "^+" ;
expect ( mySearch . dataIsOk ( { "Famille" : "Ha+logène" } ) ) . toBeFalse ( ) ;
searchInput . value = "Halogène^" ;
searchInput . dispatchEvent ( new Event ( "input" ) ) ;
expect ( mySearch . dataIsOk ( { "Famille" : "Halogène" } ) ) . toBeFalse ( ) ;
} ) ;
} ) ;
} ) ;