def test_export_reference(self): """Test export of mutiple references in one document. """ with Transaction(): factory = self.root.folder.manage_addProduct['Silva'] factory.manage_addMockupVersionedContent('other', 'Other') with self.layer.open_fixture('content-listing.png') as image: factory.manage_addImage('image', 'Image', image) version = self.root.folder.example.get_editable() save_editor_text( version.body, HTML_REFERENCE, content=version, image_content=self.root.folder.image, image_name=u'document image', link_content=self.root.folder.other, link_name=u'document link') exporter = self.assertExportEqual( self.root.folder, 'test_export_reference.silvaxml') self.assertEqual( # This is the mockup content exporter.getZexpPaths(), [(('', 'root', 'folder', 'other'), '1.zexp')]) self.assertEqual( exporter.getAssetPaths(), [(('', 'root', 'folder', 'image'), '1')]) self.assertEqual( exporter.getProblems(), [])
def test_export_reference_broken(self): """Test export of broken and missing references. """ with Transaction(): version = self.root.folder.example.get_editable() save_editor_text( version.body, HTML_REFERENCE, content=version, image_content=None, image_name=u'document image', link_content=None, link_name=u'document link') exporter = self.assertExportEqual( self.root.folder, 'test_export_reference_broken.silvaxml') self.assertEqual( exporter.getZexpPaths(), []) self.assertEqual( exporter.getAssetPaths(), []) self.assertEqual( exporter.getProblems(), [(u'Text contains a broken reference in the export.', version), (u'Text contains a broken reference in the export.', version)])
def test_export_reference_external_force(self): """Test export of references that have targets not in the export tree, with the option external_references set to True. """ with Transaction(): factory = self.root.manage_addProduct['Silva'] factory.manage_addMockupVersionedContent('other', 'Other') with self.layer.open_fixture('content-listing.png') as image: factory.manage_addImage('image', 'Image', image) version = self.root.folder.example.get_editable() save_editor_text( version.body, HTML_REFERENCE, content=version, image_content=self.root.image, image_name=u'document image', link_content=self.root.other, link_name=u'document link') exporter = self.assertExportEqual( self.root.folder, 'test_export_reference_external.silvaxml', options={'external_references': True}) self.assertEqual( exporter.getZexpPaths(), []) self.assertEqual( exporter.getAssetPaths(), []) self.assertEqual( exporter.getProblems(), [(u'Text contains a reference pointing outside of the export (../other).', version), (u'Text contains a reference pointing outside of the export (../image).', version)])
def test_view(self): """Test document public view. """ version = self.root.document.get_editable() save_editor_text(version.body, """ <p>This is a simple piece of text.</p> """) IPublicationWorkflow(self.root.document).publish() with self.layer.get_browser(public_settings) as browser: self.assertEqual(browser.open('/root/document'), 200) # Title should be an h1. self.assertEqual(browser.inspect.title, ['Test Document'])
def test_export_multiple_root(self): """Test export of an HTML tag that have multiple root elements. """ with Transaction(): version = self.root.folder.example.get_editable() save_editor_text(version.body, HTML_MULTIPLE) exporter = self.assertExportEqual( self.root.folder, 'test_export_multiple.silvaxml') self.assertEqual(exporter.getZexpPaths(), []) self.assertEqual(exporter.getAssetPaths(), []) self.assertEqual(exporter.getProblems(), [])
def test_catalog(self): """Test that the content of the document is in the catalog. """ with Transaction(): factory = self.root.manage_addProduct['silva.app.document'] factory.manage_addDocument('document', 'Test Document') version = self.root.document.get_editable() save_editor_text(version.body, HTML_CATALOG, content=version) # Test appear in the title. self.assertItemsEqual( search(fulltext='Test'), ['/root/document/0']) # Catalog appear in the body text. self.assertItemsEqual( search(fulltext='catalog'), ['/root/document/0'])
def test_export_reference_external(self): """Test export of references that have targets not in the export tree. This should fail. """ with Transaction(): factory = self.root.manage_addProduct['Silva'] factory.manage_addMockupVersionedContent('other', 'Other') with self.layer.open_fixture('content-listing.png') as image: factory.manage_addImage('image', 'Image', image) version = self.root.folder.example.get_editable() save_editor_text( version.body, HTML_REFERENCE, content=version, image_content=self.root.image, image_name=u'document image', link_content=self.root.other, link_name=u'document link') self.assertExportFail(self.root.folder)