def test_placeholder_cache_bug(self): """There was an bad bug caused when the page cache was filled the first time.""" from basic_cms.placeholders import PlaceholderNode page = self.new_page() placeholder = PlaceholderNode('test', page=page) placeholder.save(page, 'fr-ch', 'fr', True) placeholder.save(page, 'en-us', 'en', True) self.assertEqual(Content.objects.get_content(page, 'fr-ch', 'test'), 'fr')
def test_placeholder_cache_bug(self): """There was an bad bug caused when the page cache was filled the first time.""" from basic_cms.placeholders import PlaceholderNode page = self.new_page() placeholder = PlaceholderNode('test', page=page) placeholder.save(page, 'fr-ch', 'fr', True) placeholder.save(page, 'en-us', 'en', True) self.assertEqual( Content.objects.get_content(page, 'fr-ch', 'test'), 'fr' )
def test_get_filename(self): placeholder = PlaceholderNode("placeholdername") page = self.new_page({'slug': 'page1'}) data = "myfile.pdf" self.assertTrue(data in get_filename(page, placeholder, data)) self.assertTrue("page_%d" % page.id in get_filename(page, placeholder, data)) self.assertTrue( placeholder.name in get_filename(page, placeholder, data))
def do_placeholder(parser, token): """ Method that parse the placeholder template tag. Syntax:: {% placeholder <name> [on <page>] [with <widget>] \ [parsed] [as <varname>] %} Example usage:: {% placeholder about %} {% placeholder body with TextArea as body_text %} {% placeholder welcome with TextArea parsed as welcome_text %} {% placeholder teaser on next_page with TextArea parsed %} """ name, params = parse_placeholder(parser, token) return PlaceholderNode(name, **params)
def test_placeholder_untranslated_content(self): """Test placeholder untranslated content.""" self.set_setting("PAGE_USE_SITE_ID", False) page = self.new_page(content={}) placeholder = PlaceholderNode('untrans', page='p', untranslated=True) placeholder.save(page, 'fr-ch', 'test-content', True) placeholder.save(page, 'en-us', 'test-content', True) self.assertEqual(len(Content.objects.all()), 1) self.assertEqual(Content.objects.all()[0].language, 'en-us') placeholder = PlaceholderNode('untrans', page='p', untranslated=False) placeholder.save(page, 'fr-ch', 'test-content', True) self.assertEqual(len(Content.objects.all()), 2) # test the syntax page = self.new_page() template = django.template.loader.get_template( 'pages/tests/untranslated.html') context = Context({'current_page': page, 'lang': 'en-us'}) self.assertEqual(template.render(context), '')