[Zope-Checkins] CVS: Zope3/lib/python/Zope/I18n/tests - testNegotiator.py:1.1.2.1
Andreas Jung
andreas@digicool.com
Thu, 17 Jan 2002 17:40:50 -0500
Update of /cvs-repository/Zope3/lib/python/Zope/I18n/tests
In directory cvs.zope.org:/tmp/cvs-serv30450/tests
Added Files:
Tag: Zope-3x-branch
testNegotiator.py
Log Message:
initial support for language negotiation
=== Added File Zope3/lib/python/Zope/I18n/tests/testNegotiator.py ===
##############################################################################
#
# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
#
##############################################################################
import unittest, sys
from Zope.I18n.Negotiator import Negotiator
from Zope.I18n.IUserPreferedLanguages import IUserPreferedLanguages
class Env:
__implements__ = IUserPreferedLanguages
def __init__(self, langs=()):
self.langs = langs
def getLanguages(self):
return self.langs
class Test(unittest.TestCase):
def setUp(self):
self.Negotiator= Negotiator()
def test1(self):
_cases = (
( ('en','de'), ('en','de','fr'), 'en'),
( ('en'), ('it','de','fr'), None)
)
for user_pref_langs, obj_langs, expected in _cases:
env = Env(user_pref_langs)
self.assertEqual( self.Negotiator.getLanguage( obj_langs, env),
expected)
def test_suite():
loader=unittest.TestLoader()
return loader.loadTestsFromTestCase(Test)
if __name__=='__main__':
unittest.TextTestRunner().run(test_suite())