From 739a1f6e079932b8b7e7212b7eeeb320b347bc3f Mon Sep 17 00:00:00 2001 From: David Rousselie Date: Mon, 27 Nov 2006 22:42:49 +0100 Subject: [PATCH] Add Lang tests from JMC darcs-hash:20061127214249-86b55-74dd4271c64abb35fed3ad9aed80cc0999c5f00a.gz --- src/jcl/lang.py | 6 +++++- tests/jcl/test_lang.py | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/jcl/lang.py b/src/jcl/lang.py index d4586da..f304ac9 100644 --- a/src/jcl/lang.py +++ b/src/jcl/lang.py @@ -52,7 +52,11 @@ class Lang: :Parameters: - `lang`: lang code. """ - return getattr(self, lang) + if lang is not None: + lang = lang[:2] + if hasattr(Lang, lang): + return getattr(Lang, lang) + return getattr(Lang, self.default_lang) def get_lang_class_from_node(self, node): """Return lang class from XML node. diff --git a/tests/jcl/test_lang.py b/tests/jcl/test_lang.py index f2ca201..93bc0db 100644 --- a/tests/jcl/test_lang.py +++ b/tests/jcl/test_lang.py @@ -1,3 +1,4 @@ +# -*- coding: UTF-8 -*- ## ## test_lang.py ## Login : David Rousselie @@ -21,6 +22,44 @@ ## import unittest +from jcl.lang import Lang + +from pyxmpp.iq import Iq class Lang_TestCase(unittest.TestCase): - pass + def setUp(self): + self.lang = Lang() + + def tearDown(self): + self.lang = None + + def test_get_lang_class_exist(self): + lang_class = self.lang.get_lang_class("fr") + self.assertEquals(lang_class, Lang.fr) + + def test_get_lang_class_not_exist(self): + lang_class = self.lang.get_lang_class("not_exist") + self.assertEquals(lang_class, Lang.en) + + def test_get_lang_class_long_code(self): + lang_class = self.lang.get_lang_class("fr_FR") + self.assertEquals(lang_class, Lang.fr) + + def test_get_lang_from_node(self): + iq = Iq(from_jid = "test@test.com", \ + to_jid = "test2@test.com", \ + stanza_type = "get") + iq_node = iq.get_node() + iq_node.setLang("fr") + lang = self.lang.get_lang_from_node(iq_node) + self.assertEquals(lang, "fr") + + def test_get_lang_class_from_node(self): + iq = Iq(from_jid = "test@test.com", \ + to_jid = "test2@test.com", \ + stanza_type = "get") + iq_node = iq.get_node() + iq_node.setLang("fr") + lang = self.lang.get_lang_class_from_node(iq_node) + self.assertEquals(lang, Lang.fr) +