Skip to content

Commit 771a1a1

Browse files
committed
feat: updated-tests-to-match-engine-in-operator-accepting-numbers
1 parent 962c01c commit 771a1a1

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

lib/flagsmith/engine/segments/models.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,12 @@ def match_modulo_value(trait_value)
102102

103103
def match_in_value(trait_value)
104104
return false if trait_value.nil? || trait_value.is_a?(TrueClass) || trait_value.is_a?(FalseClass)
105+
106+
return false unless ![true, false].include? trait_value
105107

106-
return @value.include?(trait_value.to_s) if @value.is_a?(Array)
108+
if @value.is_a?(Array)
109+
return @value.include?(trait_value.to_s)
110+
end
107111

108112
if @value.is_a?(String)
109113
begin

spec/engine/unit/segments/models_spec.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,7 @@
9494
['IN', 1, '1,2,3,4', true],
9595
['IN', 1, '', false],
9696
['IN', 1, '1', true],
97-
# Flagsmith's engine does not evaluate `IN` condition for floats/doubles and booleans
98-
# due to ambiguous serialization across supported platforms.
99-
['IN', 1.5, '1.5', false],
97+
['IN', 1.5, '1.5', true],
10098
['IN', false, 'false', false],
10199
].freeze
102100

0 commit comments

Comments
 (0)