def testBothDifferentDomains(self): transurlvania.settings.LANGUAGE_DOMAINS = { 'en': ('www.trapeze.com', 'English Site'), 'fr': ('www.trapeze-fr.com', 'French Site') } en_domain = transurlvania.settings.LANGUAGE_DOMAINS['en'][0] fr_domain = transurlvania.settings.LANGUAGE_DOMAINS['fr'][0] translation.activate('en') self.assertEquals( reverse_for_language(about_us, 'en', 'tests.urls'), 'http://%s/en/about-us/' % en_domain ) self.assertEquals( reverse_for_language(about_us, 'fr', 'tests.urls'), 'http://%s/fr/a-propos-de-nous/' % fr_domain ) translation.activate('fr') self.assertEquals( reverse_for_language(about_us, 'fr', 'tests.urls'), 'http://%s/fr/a-propos-de-nous/' % fr_domain ) self.assertEquals( reverse_for_language(about_us, 'en', 'tests.urls'), 'http://%s/en/about-us/' % en_domain )
def testReverseForLanguage(self): translation.activate('en') self.assertEquals(reverse_for_language(the_president, 'en'), '/en/garfield/the-president/') self.assertEquals(reverse_for_language(the_president, 'fr'), http.urlquote('/fr/garfield/le-président/')) translation.activate('fr') self.assertEquals(reverse_for_language(the_president, 'fr'), http.urlquote('/fr/garfield/le-président/')) self.assertEquals(reverse_for_language(the_president, 'en'), '/en/garfield/the-president/')
def testReverseForLangWithOneDifferentDomain(self): transurlvania.settings.LANGUAGE_DOMAINS = { 'fr': ('www.trapeze-fr.com', 'French Site') } fr_domain = transurlvania.settings.LANGUAGE_DOMAINS['fr'][0] translation.activate('en') self.assertEquals(reverse_for_language(about_us, 'en'), '/about-us/') self.assertEquals(reverse_for_language(about_us, 'fr'), u'http://%s/a-propos-de-nous/' % fr_domain) translation.activate('fr') self.assertEquals(reverse_for_language(about_us, 'fr'), u'http://%s/a-propos-de-nous/' % fr_domain) self.assertEquals(reverse_for_language(about_us, 'en'), '/about-us/')
def get_url(self, lang, view_info, context=None): view_func = self.url_name or view_info.view_func try: return reverse_for_language(view_func, lang, None, view_info.view_args, view_info.view_kwargs) except NoReverseMatch: raise NoTranslationError('Unable to find URL for %s' % view_func)
def testReverseForLanguage(self): translation.activate('en') self.assertEquals( reverse_for_language(the_president, 'en'), '/en/garfield/the-president/' ) self.assertEquals( reverse_for_language(the_president, 'fr'), http.urlquote('/fr/garfield/le-président/') ) translation.activate('fr') self.assertEquals( reverse_for_language(the_president, 'fr'), http.urlquote('/fr/garfield/le-président/') ) self.assertEquals( reverse_for_language(the_president, 'en'), '/en/garfield/the-president/' )
def testBothDifferentDomains(self): transurlvania.settings.LANGUAGE_DOMAINS = { 'en': ('www.trapeze.com', 'English Site'), 'fr': ('www.trapeze-fr.com', 'French Site') } en_domain = transurlvania.settings.LANGUAGE_DOMAINS['en'][0] fr_domain = transurlvania.settings.LANGUAGE_DOMAINS['fr'][0] translation.activate('en') self.assertEquals(reverse_for_language(about_us, 'en', 'tests.urls'), 'http://%s/en/about-us/' % en_domain) self.assertEquals(reverse_for_language(about_us, 'fr', 'tests.urls'), 'http://%s/fr/a-propos-de-nous/' % fr_domain) translation.activate('fr') self.assertEquals(reverse_for_language(about_us, 'fr', 'tests.urls'), 'http://%s/fr/a-propos-de-nous/' % fr_domain) self.assertEquals(reverse_for_language(about_us, 'en', 'tests.urls'), 'http://%s/en/about-us/' % en_domain)
def testReverseForLangWithOneDifferentDomain(self): transurlvania.settings.LANGUAGE_DOMAINS = { 'fr': ('www.trapeze-fr.com', 'French Site') } fr_domain = transurlvania.settings.LANGUAGE_DOMAINS['fr'][0] translation.activate('en') self.assertEquals(reverse_for_language(about_us, 'en'), '/about-us/') self.assertEquals( reverse_for_language(about_us, 'fr'), u'http://%s/a-propos-de-nous/' % fr_domain ) translation.activate('fr') self.assertEquals( reverse_for_language(about_us, 'fr'), u'http://%s/a-propos-de-nous/' % fr_domain ) self.assertEquals( reverse_for_language(about_us, 'en'), '/about-us/' )
def testReverseForLangSupportsAdmin(self): try: reverse_for_language('admin:garfield_comicstrip_add', 'en') except NoReverseMatch, e: self.fail("Reverse lookup failed: %s" % e)
def inner(*args, **kwargs): bits = func(*args, **kwargs) return reverse_for_language(bits[0], bits[1], None, *bits[2:4])