#! /usr/bin/python """ Tests for the 'cybertools.wiki' package. $Id$ """ import unittest, doctest from zope.testing.doctestunit import DocFileSuite from zope import component from zope.interface import implements from zope.app.intid.interfaces import IIntIds from zope.publisher.interfaces.browser import IBrowserRequest from zope.traversing.browser.interfaces import IAbsoluteURL from cybertools.relation.tests import IntIdsStub from cybertools.wiki.base.config import WikiConfiguration from cybertools.wiki.base.media import WikiMediaManager from cybertools.link.base import LinkManager from cybertools.link.interfaces import ILinkManager from cybertools.wiki.dcu.html import Writer as DocutilsHTMLWriter from cybertools.wiki.dcu.rstx import Parser as DocutilsRstxParser from cybertools.wiki.dcu import process from cybertools.wiki.interfaces import IWiki, IWikiPage, IMediaObject #from cybertools.wiki.tracking import link class WikiURL(object): implements(IAbsoluteURL) def __init__(self, context, request): self.context = context self.request = request def __call__(self): return '%s/%s' % (self.request.URL, self.context.name) class PageURL(WikiURL): def __call__(self): return '%s/%s' % (WikiURL(self.context.getWiki(), self.request)(), self.context.name) class MediaURL(WikiURL): def __call__(self): return '%s/.media/%s' % (WikiURL(self.context.parent, self.request)(), self.context.name) class Test(unittest.TestCase): "Basic tests for the wiki package." def testBasicStuff(self): pass def setUp(testCase): component.provideAdapter(WikiURL, (IWiki, IBrowserRequest), IAbsoluteURL) component.provideAdapter(PageURL, (IWikiPage, IBrowserRequest), IAbsoluteURL) component.provideAdapter(MediaURL, (IMediaObject, IBrowserRequest), IAbsoluteURL) component.provideUtility(IntIdsStub()) component.provideUtility(WikiConfiguration()) component.provideUtility(DocutilsHTMLWriter(), name='docutils.html') component.provideUtility(DocutilsRstxParser(), name='docutils.rstx') component.provideAdapter(process.Reference, name='default') component.provideAdapter(process.Image, name='default') component.provideUtility(LinkManager(), provides=ILinkManager, name='cybertools.link') component.provideAdapter(WikiMediaManager, name='default') from cybertools.wiki.generic import adapter adapter.IntIds = IntIdsStub def test_suite(): flags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS return unittest.TestSuite(( unittest.makeSuite(Test), DocFileSuite('README.txt', optionflags=flags, setUp=setUp), DocFileSuite('preproc/README.txt', optionflags=flags), )) if __name__ == '__main__': unittest.main(defaultTest='test_suite')