• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zopefoundation / grokcore.view / 16248935885

18 Jun 2025 06:52AM UTC coverage: 93.234%. Remained the same
16248935885

push

github

icemac
Back to development: 5.1

151 of 180 branches covered (83.89%)

Branch coverage included in aggregate %.

1475 of 1564 relevant lines covered (94.31%)

0.94 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

83.33
/src/grokcore/view/tests/functional/contentprovider/context.py
1
"""
2
Content providers auto-associate with the context object that may be in a
3
module.
4

5
Set up the model object to view::
6

7
  >>> root = getRootFolder()
8
  >>> root['cave'] = cave = Cave()
9

10
We also set up another model that the content provider should not be auto-
11
associated with::
12

13
  >>> root['club'] = club = Club()
14

15
Let's get a content rpvoider associated with ``cave``::
16

17
  >>> from zope.publisher.browser import TestRequest
18
  >>> request = TestRequest()
19
  >>> from zope import component
20
  >>> view = component.getMultiAdapter((cave, request), name='index')
21
  >>> from zope.contentprovider.interfaces import IContentProvider
22
  >>> mgr = component.getMultiAdapter((cave, request, view), IContentProvider,
23
  ...   'manage.cavemen')
24

25
We cannot get this content provider for ``club``, as there is none associated
26
with that as a context for the given name::
27

28
  >>> component.queryMultiAdapter((club, request, view), IContentProvider,
29
  ...   'manage.caveman') is None
30
  True
31

32
Ther is for one with a different name, using an explicit grok.context directive
33
however:
34

35
  >>> mgr = component.getMultiAdapter((club, request, view), IContentProvider,
36
  ...   'manage.clubmen')
37

38
"""
39

40
import zope.interface
1✔
41

42
import grokcore.view as grok
1✔
43

44
from .context_fixture import Club
1✔
45

46

47
class CavemenContentProvider(grok.ContentProvider):
1✔
48
    grok.name('manage.cavemen')
1✔
49

50
    def render(self):
1✔
51
        pass
×
52

53

54
class Cave(grok.Context):
1✔
55
    pass
1✔
56

57

58
class Index(grok.View):
1✔
59
    grok.context(zope.interface.Interface)
1✔
60

61
    def render(self):
1✔
62
        return "Hi"
×
63

64

65
class ClubContentProvider(grok.ContentProvider):
1✔
66
    grok.name('manage.clubmen')
1✔
67
    grok.context(Club)
1✔
68

69
    def render(self):
1✔
70
        pass
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc