def test_i18n(build_tree, render_template_tag, mock_template_context): from sitetree.toolbox import register_i18n_trees build_tree( {'alias': 'i18tree'}, [{'title': 'My title', 'url': '/url_default/'}], ) build_tree( {'alias': 'i18tree_ru'}, [{'title': 'Заголовок', 'url': '/url_ru/'}], ) register_i18n_trees(['i18tree']) activate('en') result = render_template_tag('sitetree', 'sitetree_tree from "i18tree"', mock_template_context()) assert '/url_default/' in result assert 'My title' in result activate('ru') result = render_template_tag('sitetree', 'sitetree_tree from "i18tree"', mock_template_context()) assert '/url_ru/' in result assert 'Заголовок' in result deactivate_all()
def test_i18n(build_tree, template_render_tag, template_context): from sitetree.toolbox import register_i18n_trees build_tree( {'alias': 'i18tree'}, [{'title': 'My title', 'url': '/url_default/'}], ) build_tree( {'alias': 'i18tree_ru'}, [{'title': 'Заголовок', 'url': '/url_ru/'}], ) build_tree( {'alias': 'i18tree_pt-br'}, [{'title': 'Meu Título', 'url': '/url_pt-br/'}], ) build_tree( {'alias': 'i18tree_zh-hans'}, [{'title': '我蒂特', 'url': '/url_zh-hans/'}], ) register_i18n_trees(['i18tree']) activate('en') result = template_render_tag('sitetree', 'sitetree_tree from "i18tree"', template_context()) assert '/url_default/' in result assert 'My title' in result activate('ru') result = template_render_tag('sitetree', 'sitetree_tree from "i18tree"', template_context()) assert '/url_ru/' in result assert 'Заголовок' in result activate('pt-br') result = template_render_tag('sitetree', 'sitetree_tree from "i18tree"', template_context()) assert '/url_pt-br/' in result assert 'Meu Título' in result activate('zh-hans') result = template_render_tag('sitetree', 'sitetree_tree from "i18tree"', template_context()) assert '/url_zh-hans/' in result assert '我蒂特' in result deactivate_all()
def test_register_i18n_trees(self): register_i18n_trees(['tree3']) self.sitetree.set_global_context(get_mock_context(path='/the_same_url/')) activate('en') self.sitetree.get_sitetree('tree3') children = self.sitetree.get_children('tree3', self.t3_en_root) self.assertEqual(len(children), 2) self.assertFalse(children[0].is_current) self.assertTrue(children[1].is_current) activate('ru') self.sitetree.lang_init() self.sitetree.get_sitetree('tree3') children = self.sitetree.get_children('tree3', self.t3_root) self.assertEqual(len(children), 5) self.assertFalse(children[1].is_current) self.assertTrue(children[2].is_current) self.assertFalse(children[3].is_current)
# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.shortcuts import get_list_or_404, redirect from .models import Article from .utils import render_themed from sitetree.toolbox import register_i18n_trees register_i18n_trees(['main']) def index(request): return render_themed(request, 'index', {}) def listing(request): return render_themed(request, 'listing', {'articles': get_list_or_404(Article)}) def detailed(request, article_id): return redirect('demo:articles-listing')