Rend enfin tapable le champ où l'on écrit ce qu'un numéro annonce
Le champ « À la une » se reliait à chaque frappe sur une propriété qui découpait puis recomposait la ligne : le point-virgule tapé ouvrait une entrée vide aussitôt élaguée, et l'espace qui le suit était rogné. Le seul caractère qu'on ne pouvait pas y taper était son propre séparateur. Un titre s'ajoute maintenant seul, par Entrée, et se modifie ou se retire depuis la liste. Plus rien ne découpe, donc plus rien n'est intapable. ArticlesTexte disparaît, et avec lui le paramètre virguleAussi de ListeSaisie, qui n'existait que pour ce champ. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,24 +4,16 @@ using MaBibli.Shared.Textes;
|
||||
namespace MaBibli.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Découpage des champs qui portent plusieurs valeurs : thèmes d'un livre, articles à la une
|
||||
/// d'un numéro (lot O2).
|
||||
/// Découpage du champ des <b>thèmes</b> d'un livre.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ⚠️ Les articles à la une d'un numéro passaient ici jusqu'au 2026-08-21. Ils en sont sortis :
|
||||
/// un champ relié à chaque frappe sur une propriété qui découpe puis recompose réécrit la saisie
|
||||
/// sous les doigts, et l'on ne pouvait y taper ni le point-virgule ni l'espace qui le suit. Ils
|
||||
/// se saisissent un par un, et n'ont donc plus de découpage à éprouver.
|
||||
/// </remarks>
|
||||
public class ListeSaisieTests
|
||||
{
|
||||
/// <summary>
|
||||
/// ⚠️ Le cas qui a tranché le séparateur : un titre d'article contient souvent une virgule,
|
||||
/// et elle le couperait en deux.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
public void Un_titre_darticle_garde_ses_virgules()
|
||||
{
|
||||
var articles = ListeSaisie.Decouper(
|
||||
"Ukraine, deux ans après ; Le retour du train de nuit", virguleAussi: false);
|
||||
|
||||
Assert.Equal(["Ukraine, deux ans après", "Le retour du train de nuit"], articles);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Les thèmes acceptent la virgule en repli : elle était le séparateur jusqu'au 2026-08-21,
|
||||
/// et un thème n'en contient jamais.
|
||||
@@ -44,16 +36,16 @@ public class ListeSaisieTests
|
||||
[Fact]
|
||||
public void Les_entrees_vides_disparaissent()
|
||||
{
|
||||
Assert.Empty(ListeSaisie.Decouper(" ; ; ", virguleAussi: false));
|
||||
Assert.Empty(ListeSaisie.Decouper(null, virguleAussi: true));
|
||||
Assert.Empty(ListeSaisie.Decouper(" ; ; "));
|
||||
Assert.Empty(ListeSaisie.Decouper(null));
|
||||
}
|
||||
|
||||
/// <summary>La ligne recomposée se redécoupe à l'identique : c'est ce que fait le formulaire.</summary>
|
||||
[Fact]
|
||||
public void Joindre_puis_decouper_ne_perd_rien()
|
||||
{
|
||||
List<string> articles = ["Ukraine, deux ans après", "Le retour du train de nuit"];
|
||||
List<string> themes = ["dark fantasy", "space opera"];
|
||||
|
||||
Assert.Equal(articles, ListeSaisie.Decouper(ListeSaisie.Joindre(articles), virguleAussi: false));
|
||||
Assert.Equal(themes, ListeSaisie.Decouper(ListeSaisie.Joindre(themes)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user