Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Spike: Condition value type coercion spec

Ouverte
#44 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Documentation
Clarté
Plutôt claire
Activité
À l'abandon

Piste de recherche

Commencez par examiner l’issue #38 et les réponses préliminaires dans cette issue, puis identifiez les cas de coercition non résolus qui nécessitent un accord. Le travail est terminé lorsque les règles sont établies, que des cas de test complets les formalisent et qu’un document destiné aux utilisateurs explique le comportement qui en résulte.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

The behaviour of the engine needs to be clarified when comparing context values (traits) to segment condition values.

Different languages handle this in different ways, so we need to agree on a set of rules that are not dependent on any specific language implementation.

The goal is to devise test cases that formalise the in-engine type coercion, and a comprehensive user-facing document that details it.

Some of the questions we should have formal answers to, along with draft answers representing the current behaviour:

Q: How is a null context value treated?
A: Engine evaluates to false for all operators except IS_NOT_SET.

Q: What is the string representation of a Boolean condition value?
A: 'True', 'true', 'False', 'false'. Numeric values (1, 0) are not expected.

Q: How are numeric values compared?
A: Condition value is coerced to context/trait value type.

Q: How are values compared for the In operator?
A: Condition value is coerced to list of strings. Membership check is performed against a string representation of the context/trait value. Boolean context/trait values are skipped (rule evaluated to false).
NOTE: This behaviour is deemed problematic due to contradicting the overall logic of coercing segment condition values to trait values, and lack of uniform decimal/float serialisation across different languages.

Q: How are numbers parsed in regards to system locale?
A: Numbers are always parsed with a period as decimal separator, regardless of region or language settings system or process-wise.

#38 is an attempt to formalise the last answer, which sparked a conversation resulting in this issue.

Langage dominant
Aucune donnée de langage
Étoiles
0
Forks
0
Merge moyen
4 j 22 h
PR mergées (30 j)
1

Préparer son environnement

Nous n'avons pas encore vérifié les fichiers d'installation de ce projet. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de Flagsmith/engine-test-data

Toutes les issues de Flagsmith/engine-test-data

Issues similaires

Plus d'issues Documentation

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.