Creating and Rendering Menus
============================
We first set up a test and working environment:
>>> from zope.app import zapi
>>> from zope.app.testing import ztapi
>>> from zope.app.component import site, interfaces
>>> from zope.app.folder import Folder
>>> from cybertools.menu.menu import Menu
>>> from cybertools.menu.interfaces import IMenu
Set up a site:
>>> f1 = Folder()
>>> sm = site.LocalSiteManager(f1)
>>> f1.setSiteManager(sm)
>>> default = sm['default']
Create a menu and register it:
>>> m1 = Menu('m1')
>>> default['m1'] = m1
>>> reg = site.UtilityRegistration('main', IMenu, m1)
>>> default.registrationManager.addRegistration(reg)
'UtilityRegistration'
>>> reg.status = interfaces.registration.ActiveStatus
>>> zapi.getUtility(IMenu, 'main', context=f1)
Menu('m1')
>>> list(zapi.getUtilitiesFor(IMenu, f1))
[('main', Menu('m1'))]