summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Morega <alex@grep.ro>2014-01-06 10:28:51 -0800
committerAlex Morega <alex@grep.ro>2014-01-06 10:28:51 -0800
commit592104cb12188a83c6896cb42863bbd5f45a65c8 (patch)
treee9971fb09ab3823420b72f9dc55c6ee9faf081f3
parenta97aeab79400887b52fb32f06b50512e5635f58a (diff)
parent3ec7bb104e808d1fda16fbf9fec4b9d7efccaa3f (diff)
downloadbabel-592104cb12188a83c6896cb42863bbd5f45a65c8.tar.gz
Merge pull request #66 from Sjord/master
Correctly parse number pattern with '-' on the end
-rw-r--r--babel/numbers.py2
-rw-r--r--tests/test_numbers.py8
2 files changed, 9 insertions, 1 deletions
diff --git a/babel/numbers.py b/babel/numbers.py
index 2f7fe16..587d640 100644
--- a/babel/numbers.py
+++ b/babel/numbers.py
@@ -389,7 +389,7 @@ def parse_decimal(string, locale=LC_NUMERIC):
PREFIX_END = r'[^0-9@#.,]'
-NUMBER_TOKEN = r'[0-9@#.\-,E+]'
+NUMBER_TOKEN = r'[0-9@#.,E+]'
PREFIX_PATTERN = r"(?P<prefix>(?:'[^']*'|%s)*)" % PREFIX_END
NUMBER_PATTERN = r"(?P<number>%s+)" % NUMBER_TOKEN
diff --git a/tests/test_numbers.py b/tests/test_numbers.py
index 7faba6b..02332fb 100644
--- a/tests/test_numbers.py
+++ b/tests/test_numbers.py
@@ -214,6 +214,7 @@ def test_get_plus_sign_symbol():
def test_get_minus_sign_symbol():
assert numbers.get_minus_sign_symbol('en_US') == u'-'
+ assert numbers.get_minus_sign_symbol('nl_NL') == u'-'
def test_get_exponential_symbol():
@@ -248,6 +249,8 @@ def test_format_currency():
assert (numbers.format_currency(1099.98, 'EUR', u'\xa4\xa4 #,##0.00',
locale='en_US')
== u'EUR 1,099.98')
+ assert (numbers.format_currency(1099.98, 'EUR', locale='nl_NL')
+ != numbers.format_currency(-1099.98, 'EUR', locale='nl_NL'))
def test_format_percent():
@@ -299,3 +302,8 @@ def test_parse_grouping():
assert numbers.parse_grouping('##') == (1000, 1000)
assert numbers.parse_grouping('#,###') == (3, 3)
assert numbers.parse_grouping('#,####,###') == (3, 4)
+
+
+def test_parse_pattern():
+ assert numbers.parse_pattern(u'¤#,##0.00;(¤#,##0.00)').suffix == (u'', u')')
+ assert numbers.parse_pattern(u'¤ #,##0.00;¤ #,##0.00-').suffix == (u'', u'-')