############################################################################## # # Copyright (c) 2001, 2002 Zope Corporation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################## """Test Image Data handling $Id: test_imagedata.py 67630 2006-04-27 00:54:03Z jim $ """ import unittest from zope.component import adapts, provideAdapter from zope.component.testing import PlacelessSetup from zope.interface import implements from zope.app.file.image import Image from zope.app.file.browser.image import ImageData from zope.traversing.browser.interfaces import IAbsoluteURL class FakeRequest(object): pass class StubAbsoluteURL(object): adapts(Image, FakeRequest) implements(IAbsoluteURL) def __init__(self, *objects): pass def __str__(self): return '/img' __call__ = __str__ class ImageDataTest(PlacelessSetup, unittest.TestCase): def testData(self): image = Image('Data') id = ImageData() id.context = image id.request = None self.assertEqual(id(), 'Data') def testTag(self): provideAdapter(StubAbsoluteURL) image = Image() fe = ImageData() fe.context = image fe.request = FakeRequest() self.assertEqual(fe.tag(), '') self.assertEqual(fe.tag(alt="Test Image"), 'Test Image') self.assertEqual(fe.tag(height=100, width=100), ('')) self.assertEqual(fe.tag(border=1), '') self.assertEqual(fe.tag(css_class="Image"), '') self.assertEqual(fe.tag(height=100, width="100", border=1, css_class="Image"), '') def test_suite(): return unittest.makeSuite(ImageDataTest) if __name__=='__main__': unittest.main()