Spike: Condition value type coercion spec
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- documentation, testing
Hướng nghiên cứu
Bắt đầu bằng việc xem xét issue #38 và các câu trả lời dự thảo trong issue này, sau đó xác định các trường hợp cưỡng chế kiểu chưa được giải quyết cần đạt được sự thống nhất. Công việc được xem là hoàn tất khi các quy tắc đã được thống nhất, các trường hợp kiểm thử toàn diện chính thức hóa các quy tắc đó và một tài liệu dành cho người dùng giải thích hành vi resulting.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Flagsmith/engine-test-data
-
Spike: Spec-based engine updatesCó thể làm lại được @khvn26 đã nhận 309 ngày trước và không có pull request nào đang mở. Đang mở
Flagsmith/engine-test-data#49 · 3 bình luận · 1 người được giao ·
-
Add `In` operator edge casesĐang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
-
tech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Groom existing test case filesĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Tất cả issue của Flagsmith/engine-test-data
Issue tương tự
-
area:docs good first issue P3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
uttrflow/uttrflow-swift#3445 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
adr
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
kristofdegrave/homeassistant-smart-charging#1607 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Feature
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
Narezzurri/OpenVPN-Config-Manager#95 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
FAQ- what is an NHS EmployerĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
doc good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
collective/icalendar#1865 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày