diff --git a/pelican/contents.py b/pelican/contents.py index 8d534976..21535ea0 100644 --- a/pelican/contents.py +++ b/pelican/contents.py @@ -527,7 +527,11 @@ class Article(Content): @python_2_unicode_compatible -class Static(Page): +class Static(Content): + mandatory_properties = ('title',) + default_status = 'published' + default_template = None + def __init__(self, *args, **kwargs): super(Static, self).__init__(*args, **kwargs) self._output_location_referenced = False diff --git a/pelican/tests/test_contents.py b/pelican/tests/test_contents.py index da1a6ae2..8046d608 100644 --- a/pelican/tests/test_contents.py +++ b/pelican/tests/test_contents.py @@ -917,3 +917,18 @@ class TestStatic(LoggedTestCase): self.settings['INDEX_SAVE_AS'])) + '">link') self.assertEqual(content, expected_html) + + def test_not_save_as_draft(self): + """Static.save_as is not affected by draft status.""" + + static = Static( + content=None, + metadata=dict(status='draft',), + settings=self.settings, + source_path=os.path.join('dir', 'foo.jpg'), + context=self.settings.copy()) + + expected_save_as = os.path.join('dir', 'foo.jpg') + self.assertEqual(static.status, 'draft') + self.assertEqual(static.save_as, expected_save_as) + self.assertEqual(static.url, path_to_url(expected_save_as))