コード例 #1
0
 def test_has_atom_url_in_metadata(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertEqual('https://www.example.com/archive.html',
                      extension.atom_metadata['url'])
コード例 #2
0
 def test_list_output_required_with_list_template(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser, exclude='list_output')
     extension = BlogExtension(director.config)
     with self.assertRaises(AbortError) as error:
         extension.on_pre_composition(director)
     self.assertTrue('list_output' in str(error.exception))
コード例 #3
0
 def test_requires_atom_url(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser, exclude='atom_url')
     extension = BlogExtension(director.config)
     with self.assertRaises(AbortError) as error:
         extension.on_pre_composition(director)
     self.assertTrue('atom_url' in str(error.exception))
コード例 #4
0
 def _make_preprocessed_one(self, director=None, exclude=None):
     """Make an instance that has all default metadata already parsed."""
     if director is None:
         director = self.factory.make_director()
     self._add_blog_section(director.config.parser, exclude=exclude)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     templates = os.path.join(director.site.path, 'templates')
     os.mkdir(templates)
     open(os.path.join(templates, 'archive.j2'), 'w').close()
     return extension
コード例 #5
0
 def test_handles_pre_composition(self):
     extension = BlogExtension(None)
     self.assertTrue(extension.handle_pre_composition)
コード例 #6
0
 def test_blog_must_be_boolean(self):
     extension = BlogExtension(None)
     self.assertRaises(AbortError, extension.on_frontmatter_loaded,
                       'animaniacs.md', {'blog': 'crazy'})
コード例 #7
0
 def test_ignores_non_blog_post(self):
     extension = BlogExtension(None)
     extension.on_frontmatter_loaded('exosquad.md', {})
     self.assertEqual(0, len(extension.posts))
コード例 #8
0
 def test_handles_frontmatter_loaded(self):
     extension = BlogExtension(None)
     self.assertTrue(extension.handle_frontmatter_loaded)
コード例 #9
0
 def test_should_generate_output_at_start(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     self.assertTrue(extension._should_generate)
コード例 #10
0
 def test_has_list_output_in_extension(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertEqual('archive.html', extension.list_output)
コード例 #11
0
 def test_list_template_not_required(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser, exclude='list_template')
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertIsNone(extension.list_template)
コード例 #12
0
 def test_obtains_resolver(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertTrue(isinstance(extension._resolver, FileResolver))
コード例 #13
0
 def test_has_atom_output_in_metadata(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertEqual('feed.xml', extension.atom_output)
コード例 #14
0
 def test_has_atom_author_in_metadata(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertEqual('Nikola Tesla', extension.atom_metadata['author'])
コード例 #15
0
 def test_has_atom_title_in_metadata(self):
     director = self.factory.make_director()
     self._add_blog_section(director.config.parser)
     extension = BlogExtension(director.config)
     extension.on_pre_composition(director)
     self.assertEqual('Amazing blog', extension.atom_metadata['title'])