mirror of
https://github.com/Shopify/liquid.git
synced 2026-10-02 16:45:12 -07:00
Fix conditions using negative number comparisons
This commit is contained in:
@@ -136,11 +136,11 @@ module Liquid
|
|||||||
$1
|
$1
|
||||||
when /^"(.*)"$/ # Double quoted strings
|
when /^"(.*)"$/ # Double quoted strings
|
||||||
$1
|
$1
|
||||||
when /^(\d+)$/ # Integer and floats
|
when /^(-?\d+)$/ # Integer and floats
|
||||||
$1.to_i
|
$1.to_i
|
||||||
when /^\((\S+)\.\.(\S+)\)$/ # Ranges
|
when /^\((\S+)\.\.(\S+)\)$/ # Ranges
|
||||||
(resolve($1).to_i..resolve($2).to_i)
|
(resolve($1).to_i..resolve($2).to_i)
|
||||||
when /^(\d[\d\.]+)$/ # Floats
|
when /^(-?\d[\d\.]+)$/ # Floats
|
||||||
$1.to_f
|
$1.to_f
|
||||||
else
|
else
|
||||||
variable(key)
|
variable(key)
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ class ConditionTest < Test::Unit::TestCase
|
|||||||
assert_evalutes_true '2', '>=', '1'
|
assert_evalutes_true '2', '>=', '1'
|
||||||
assert_evalutes_true '1', '<=', '2'
|
assert_evalutes_true '1', '<=', '2'
|
||||||
assert_evalutes_true '1', '<=', '1'
|
assert_evalutes_true '1', '<=', '1'
|
||||||
|
# negative numbers
|
||||||
|
assert_evalutes_true '1', '>', '-1'
|
||||||
|
assert_evalutes_true '-1', '<', '1'
|
||||||
|
assert_evalutes_true '1.0', '>', '-1.0'
|
||||||
|
assert_evalutes_true '-1.0', '<', '1.0'
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_default_operators_evalute_false
|
def test_default_operators_evalute_false
|
||||||
|
|||||||
Reference in New Issue
Block a user