Skip to content

Commit

Permalink
Merged from trunk:
Browse files Browse the repository at this point in the history
  r27323 | jim | 2004-08-28 15:31:22 -0400 (Sat, 28 Aug 2004) | 15 lines

Integrated the latest doctest rom the Python cvs.

This brought two backward-incompatible changes:

- setUp and tearDown functions are now passed a test 
  argument, which is a doctest.DocTest.  This provides access to the
  test globals.

- The names of doctest reporting options for requesting diff output
  have changed.

Thesechanges are both positive for the long run, despite the
short-term backward-incompatability. Better before X3.0 final than
later.
  • Loading branch information
Jim Fulton committed Aug 28, 2004
1 parent 3ee7eed commit 0ac1d35
Show file tree
Hide file tree
Showing 8 changed files with 135 additions and 29 deletions.
2 changes: 1 addition & 1 deletion classmodule/__init__.py
Expand Up @@ -184,7 +184,7 @@ class Module(ReadContainerBase):
>>> names = module['tests'].keys()
>>> names.sort()
>>> names
['Root', 'pprint', 'rootLocation', 'setUp', 'tearDown', 'test_suite']
['Root', 'pprint', 'rootLocation', 'setUp', 'test_suite']
"""
implements(ILocation, IModuleDocumentation)

Expand Down
8 changes: 2 additions & 6 deletions classmodule/tests.py
Expand Up @@ -44,7 +44,7 @@
from zope.app.apidoc.interfaces import IDocumentationModule


def setUp():
def setUp(test):
placelesssetup.setUp()
module = ClassModule()
module.__name__ = ''
Expand Down Expand Up @@ -74,10 +74,6 @@ def setUp():
ReStructuredTextToHTMLRenderer)


def tearDown():
placelesssetup.tearDown()


def foo(cls, bar=1, *args):
"""This is the foo function."""
foo.deprecated = True
Expand Down Expand Up @@ -110,7 +106,7 @@ def getModuleDetailsView():
def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc.classmodule.browser',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.classmodule'),
))

Expand Down
10 changes: 4 additions & 6 deletions ifacemodule/tests.py
Expand Up @@ -92,7 +92,7 @@ def getInterfaceDetails():
return view


def setUp():
def setUp(test):
placelesssetup.setUp()
provideInterface(None, IDocumentationModule)
provideInterface('IInterfaceModule', IInterfaceModule)
Expand Down Expand Up @@ -121,17 +121,15 @@ def setUp():
sm.defineService('Foo', IFoo)
sm.provideService('Foo', Foo())

def tearDown():
placelesssetup.tearDown()

def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc.ifacemodule',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.ifacemodule.menu',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.ifacemodule.browser',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
))

if __name__ == '__main__':
Expand Down
42 changes: 42 additions & 0 deletions servicemodule/tests.py
@@ -0,0 +1,42 @@
##############################################################################
#
# Copyright (c) 2004 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.
#
##############################################################################
"""Tests for the Service Documentation Module
$Id$
"""
import unittest
from zope.testing.doctestunit import DocTestSuite
from zope.app.tests import placelesssetup, ztapi

from zope.app.tree.interfaces import IUniqueId
from zope.app.tree.adapters import LocationUniqueId

from zope.app.traversing.interfaces import IPhysicallyLocatable
from zope.app.location.traversing import LocationPhysicallyLocatable

def setUp(test):
placelesssetup.setUp()
ztapi.provideAdapter(None, IUniqueId, LocationUniqueId)
ztapi.provideAdapter(None, IPhysicallyLocatable,
LocationPhysicallyLocatable)

def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc.servicemodule'),
DocTestSuite('zope.app.apidoc.servicemodule.browser',
setUp=setUp, tearDown=placelesssetup.tearDown),
))

if __name__ == '__main__':
unittest.main()
9 changes: 3 additions & 6 deletions tests.py
Expand Up @@ -33,7 +33,7 @@
from zope.app.renderer.rest import ReStructuredTextToHTMLRenderer


def setUp():
def setUp(test):
placelesssetup.setUp()
ztapi.provideUtility(IDocumentationModule, InterfaceModule(),
'Interface')
Expand All @@ -45,9 +45,6 @@ def setUp():
ztapi.browserView(IReStructuredTextSource, '',
ReStructuredTextToHTMLRenderer)

def tearDown():
placelesssetup.tearDown()


# Generally useful classes and functions

Expand Down Expand Up @@ -108,9 +105,9 @@ def pprint(info):
def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.browser.apidoc',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.utilities'),
DocTestSuite('zope.app.apidoc.tests'),
))
Expand Down
78 changes: 78 additions & 0 deletions utilitymodule/tests.py
@@ -0,0 +1,78 @@
##############################################################################
#
# Copyright (c) 2004 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.
#
##############################################################################
"""Tests for the Utility Documentation Module
$Id$
"""
import unittest

from zope.interface import implements
from zope.publisher.browser import TestRequest
from zope.testing.doctestunit import DocTestSuite

from zope.app import zapi
from zope.app.tests import placelesssetup, ztapi

from zope.app.apidoc.interfaces import IDocumentationModule
from zope.app.apidoc.tests import Root
from zope.app.apidoc.ifacemodule import InterfaceModule
from zope.app.apidoc.classmodule import ClassModule
from zope.app.apidoc.utilitymodule import UtilityModule, Utility
from browser import UtilityDetails

from zope.app.tree.interfaces import IUniqueId
from zope.app.tree.adapters import LocationUniqueId

from zope.app.traversing.interfaces import IPhysicallyLocatable
from zope.app.location.traversing import LocationPhysicallyLocatable


def setUp(test):
placelesssetup.setUp()
service = zapi.getGlobalService('Utilities')
service.provideUtility(IDocumentationModule, InterfaceModule(), '')
service.provideUtility(IDocumentationModule, ClassModule(), 'Classes')

ztapi.provideAdapter(None, IUniqueId, LocationUniqueId)
ztapi.provideAdapter(None, IPhysicallyLocatable,
LocationPhysicallyLocatable)


def makeRegistration(name, interface, component):
return type('RegistrationStub', (),
{'name': name, 'provided': interface,
'component': component, 'doc': ''})()

def getDetailsView():
utils = UtilityModule()
utils.__parent__ = Root
utils.__name__ = 'Utility'
util = Utility(
utils,
makeRegistration('Classes', IDocumentationModule, ClassModule()))
details = UtilityDetails()
details.context = util
details.request = TestRequest()
return details

def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc.utilitymodule',
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.utilitymodule.browser',
setUp=setUp, tearDown=placelesssetup.tearDown),
))

if __name__ == '__main__':
unittest.main()
11 changes: 3 additions & 8 deletions viewmodule/tests.py
Expand Up @@ -34,7 +34,7 @@ class IFoo(Interface):
class FooView(object):
pass

def setUp():
def setUp(test):
placelesssetup.setUp()

ztapi.provideAdapter(ISkinRegistration, ISkinDocumentation,
Expand All @@ -55,18 +55,13 @@ def setUp():
provideInterface('IBrowserRequest', IBrowserRequest)
ztapi.browserView(IFoo, 'index.html', FooView, layer='default')



def tearDown():
placelesssetup.tearDown()


def test_suite():
return unittest.TestSuite((
DocTestSuite('zope.app.apidoc.viewmodule',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
DocTestSuite('zope.app.apidoc.viewmodule.browser',
setUp=setUp, tearDown=tearDown),
setUp=setUp, tearDown=placelesssetup.tearDown),
))

if __name__ == '__main__':
Expand Down
4 changes: 2 additions & 2 deletions zcmlmodule/tests.py
Expand Up @@ -32,7 +32,7 @@
from zope.app.apidoc.tests import Root


def setUp():
def setUp(test):
placelesssetup.setUp()

ztapi.provideAdapter(None, IUniqueId, LocationUniqueId)
Expand All @@ -45,7 +45,7 @@ def setUp():
zope.app.appsetup.appsetup.__config_source = os.path.join(
os.path.dirname(zope.app.__file__), 'meta.zcml')

def tearDown():
def tearDown(test):
placelesssetup.tearDown()
zope.app.appsetup.appsetup.__config_source = old_source_file

Expand Down

0 comments on commit 0ac1d35

Please sign in to comment.