summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Wellington Ⅳ <roy@mybasis.com>2015-03-31 14:44:10 -0700
committerAarni Koskela <akx@iki.fi>2015-12-29 17:55:29 +0200
commit2aa80748f6123aa95f752353263c6ca2567b735e (patch)
tree342bc2d30fe162ea57426c048b35acb7c228c4a4
parent5d0c4ef8a55bc507650e9ff750328883d371d5c3 (diff)
downloadbabel-2aa80748f6123aa95f752353263c6ca2567b735e.tar.gz
Add __hash__ to Locale.
-rw-r--r--babel/core.py3
-rw-r--r--tests/test_core.py5
2 files changed, 8 insertions, 0 deletions
diff --git a/babel/core.py b/babel/core.py
index 84ee189..2df139c 100644
--- a/babel/core.py
+++ b/babel/core.py
@@ -326,6 +326,9 @@ class Locale(object):
def __ne__(self, other):
return not self.__eq__(other)
+ def __hash__(self):
+ return hash((self.language, self.territory, self.script, self.variant))
+
def __repr__(self):
parameters = ['']
for key in ('territory', 'script', 'variant'):
diff --git a/tests/test_core.py b/tests/test_core.py
index 4ce92dd..c887d5f 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -57,6 +57,11 @@ def test_get_global():
class TestLocaleClass:
+ def test_hash(self):
+ locale_a = Locale('en', 'US')
+ locale_b = Locale('en', 'US')
+ assert hash(locale_a) == hash(locale_b)
+
def test_repr(self):
assert repr(Locale('en', 'US')) == "Locale('en', territory='US')"