]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
decimal is a number
authorTim Bray <tim@kooky.org>
Thu, 10 Jul 2014 10:43:53 +0000 (11:43 +0100)
committerMarkus Unterwaditzer <markus@unterwaditzer.net>
Wed, 11 Mar 2015 15:11:00 +0000 (16:11 +0100)
CHANGES
jinja2/tests.py

diff --git a/CHANGES b/CHANGES
index eaa6e6bf73d23658dada2daeeb62cafe1974d447..cb5e78484e1af2a71b74aef1bae08898bdbbba9d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -21,6 +21,7 @@ Version 2.8
 - Implemented a block ``set`` tag.
 - Default cache size was incrased to 400 from a low 50.
 - Fixed ``is number`` test to accept long integers in all Python versions.
+- Changed ``is number`` to accept Decimal as a number.
 - Added a check for default arguments followed by non-default arguments. This
   change makes ``{% macro m(x, y=1, z) %}...{% endmacro %}`` a syntax error. The
   previous behavior for this code was broken anyway (resulting in the default
index 9420239dec7de48e32ee9a19f83ba822df89fbb5..b88d4c360fd433805fc1d222501128389577592a 100644 (file)
@@ -12,7 +12,7 @@ import re
 from collections import Mapping
 from jinja2.runtime import Undefined
 from jinja2._compat import text_type, string_types, integer_types
-
+import decimal
 
 number_re = re.compile(r'^-?\d+(\.\d+)?$')
 regex_type = type(number_re)
@@ -88,7 +88,7 @@ def test_mapping(value):
 
 def test_number(value):
     """Return true if the variable is a number."""
-    return isinstance(value, integer_types + (float, complex))
+    return isinstance(value, integer_types + (float, complex, decimal.Decimal))
 
 
 def test_sequence(value):