def test_get_media(self): get_media = self.view.get_media self.assertEqual(len(get_media()), 0) image = api.content.create(self.n1, 'Image', title='foo') set_image_field(image, FRACTAL, 'image/jpeg') self.assertEqual(len(get_media()), 1)
def test_slideshow_view_render(self): self.assertNotIn('<div class="slideshow-player">', self.view()) self.assertNotIn('<div class="slideshow-pager">', self.view()) image = api.content.create(self.n1, 'Image', 'foo') set_image_field(image, FRACTAL, 'image/jpeg') self.assertIn('<div class="slideshow-player">', self.view()) self.assertIn('<div class="slideshow-pager">', self.view())
def test_text_only_view_render(self): self.assertNotIn('<div id="media">', self.view()) image = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(image, FRACTAL, 'image/jpeg') self.assertNotIn('<div id="media">', self.view())
def test_media_caption(self): self.assertEqual(self.n1.media_caption(), u'') img = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(img, zptlogo, 'image/gif') self.assertEqual(self.n1.media_caption(), 'bar')
def test_image_thumb(self): self.assertIsNone(self.n1.image_thumb()) img = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(img, zptlogo, 'image/gif') self.assertIsNotNone(self.n1.image_thumb())
def test_get_images(self): images = self.view.get_images() self.assertEqual(len(images), 0) image = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(image, FRACTAL, 'image/jpeg') images = self.view.get_images() self.assertEqual(len(images), 1) self.assertEqual(images[0].getObject().Title(), 'foo') self.assertEqual(images[0].getObject().Description(), 'bar')
def test_image_scale(self): self.assertIsNone(self.n1.image()) img = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(img, zptlogo, 'image/gif') scales = self.n1.unrestrictedTraverse('@@images') scale = scales.scale('image', 'thumb') self.assertEqual(scale.height, 16) self.assertEqual(scale.width, 16)
def test_get_media(self): media = self.view.get_media() self.assertEqual(len(media), 0) image = api.content.create(self.n1, 'Image', title='foo') set_image_field(image, FRACTAL, 'image/jpeg') file = api.content.create(self.n1, 'File', title='bar') set_file_field(file, FRACTAL, 'image/jpeg') self.n1.invokeFactory('Link', 'baz', remoteUrl='http://baz/') media = self.view.get_media() self.assertEqual(len(media), 3) self.assertEqual(media[0].getObject().Title(), 'foo') self.assertEqual(media[1].getObject().id, 'bar') self.assertEqual(media[2].getObject().id, 'baz')
def test_images_traversal(self): from collective.nitf.testing import DEXTERITY_ONLY from collective.nitf.testing import IS_PLONE_5 image = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(image, FRACTAL, 'image/jpeg') scale = self.n1.unrestrictedTraverse('@@images').scale('image') # FIXME: acquisition? if IS_PLONE_5 or DEXTERITY_ONLY: # (Pdb) scale # <plone.namedfile.scaling.ImageScale object at 0x7eff7b683650> self.assertEqual(scale.index_html(), FRACTAL) else: # (Pdb) scale # <plone.app.blob.field.BlobWrapper object at 0x7f85bdb6b8c0> self.assertEqual(scale.data, FRACTAL)
def test_alt_atribute_present_in_image(self): # https://github.com/collective/collective.nitf/issues/152 from collective.nitf.testing import FRACTAL from collective.nitf.tests.api_hacks import set_image_field with api.env.adopt_roles(['Manager']): n1 = api.content.create( self.portal, 'collective.nitf.content', title='Lorem ipsum') image = api.content.create(n1, 'Image', title='Neque porro') set_image_field(image, FRACTAL, 'image/jpeg') self.tile.populate_with_object(n1) html = etree.HTML(self.tile()) # title of the news article is used as alt attribute self.assertIn('Lorem ipsum', html.xpath('//img/@alt'))
def test_alt_atribute_present_in_image(self): # https://github.com/collective/collective.nitf/issues/152 from collective.nitf.testing import FRACTAL from collective.nitf.tests.api_hacks import set_image_field with api.env.adopt_roles(['Manager']): n1 = api.content.create(self.portal, 'collective.nitf.content', title='Lorem ipsum') image = api.content.create(n1, 'Image', title='Neque porro') set_image_field(image, FRACTAL, 'image/jpeg') self.tile.populate_with_object(n1) html = etree.HTML(self.tile()) # title of the news article is used as alt attribute self.assertIn('Lorem ipsum', html.xpath('//img/@alt'))
def test_tag(self): self.assertIsNone(self.n1.tag()) img = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(img, zptlogo, 'image/gif') # image alt and title attributes self.assertIn('alt="foo" title="foo"', self.n1.tag()) # image size self.assertIn('height="16" width="16', self.n1.tag()) # image scale using @@images self.assertIn( 'src="http://nohost/plone/n1/foo/@@images/', self.n1.tag(scale='preview')) # image class self.assertIn('class="myClass"', self.n1.tag(css_class='myClass'))
def test_render_view_methods(self): # https://github.com/collective/collective.nitf/issues/178 from collective.nitf.testing import get_image from collective.nitf.testing import IMAGES from collective.nitf.tests.api_hacks import set_image_field # news article with lead image obj = api.content.create(self.folder, 'collective.nitf.content', 'n1') api.content.create(obj, 'Image', 'img1') set_image_field(obj['img1'], get_image(IMAGES[0]), 'image/jpeg') # news article without lead image api.content.create(self.folder, 'collective.nitf.content', 'n2') self.assertEqual(len(self.c1.queryCatalog()), 2) # traverse view methods and assert they are rendered without errors types = self.portal['portal_types'] view_methods = types['Collection'].view_methods for view in view_methods: rendered = self.c1.restrictedTraverse(view)() self.assertIsInstance(rendered, six.text_type)
def test_tag(self): self.assertIsNone(self.n1.tag()) img = api.content.create(self.n1, 'Image', title='foo', description='bar') set_image_field(img, zptlogo, 'image/gif') # image alt and title attributes self.assertIn('alt="foo" title="foo"', self.n1.tag()) # image size self.assertIn('height="16" width="16', self.n1.tag()) # image scale using @@images self.assertIn('src="http://nohost/plone/n1/foo/@@images/', self.n1.tag(scale='preview')) # image class self.assertIn('class="myClass"', self.n1.tag(css_class='myClass'))
def setUpPloneSite(self, portal): super(RobotFixture, self).setUpPloneSite(portal) with api.env.adopt_roles(['Manager']): api.content.create(portal, 'collective.nitf.content', 'related') obj = api.content.create(portal, 'collective.nitf.content', 'n1') from collective.nitf.tests.api_hacks import set_image_field api.content.create(obj, 'Image', 'img1') api.content.create(obj, 'Image', 'img2') api.content.create(obj, 'Image', 'img3') set_image_field(obj['img1'], get_image(IMAGES[0]), 'image/jpeg') set_image_field(obj['img2'], get_image(IMAGES[1]), 'image/jpeg') set_image_field(obj['img3'], get_image(IMAGES[2]), 'image/jpeg') intids = getUtility(IIntIds) to_id = intids.getId(portal.related) portal.n1.relatedItems = [RelationValue(to_id)] open('/tmp/random.txt', 'w').write(generate_text(256))
def test_default_view_render(self): self.assertNotIn('<div id="media">', self.view()) image = api.content.create(self.n1, 'Image', title='foo') set_image_field(image, FRACTAL, 'image/jpeg') self.assertIn('<div id="media">', self.view())
def test_media_producer(self): self.assertEqual(self.n1.media_producer(), u'') img = api.content.create(self.n1, 'Image', title='foo', rights='bar') set_image_field(img, zptlogo, 'image/gif') self.assertEqual(self.n1.media_producer(), 'bar')