Faceted tool vocabularies
=========================
Defined vocabularies by this package.

Let's do some imports and setup

    >>> from zope.app.schema.vocabulary import IVocabularyFactory
    >>> from zope.component import getUtility
    >>> from Products.CMFCore.utils import getToolByName

eea.faceted.vocabularies.FacetedPortalTypes
------------------------------------------------
This vocabulary adds to plone.app.vocabularies.UserFriendlyTypes custom portal
types mapping added within portal_faceted tool.

    >>> ftool = getToolByName(portal, 'portal_faceted')
    >>> add = ftool.unrestrictedTraverse('@@add')
    >>> data = {
    ... 'title': 'Faceted Test type',
    ... 'search_interface': '',
    ... 'search_type': 'Folder',
    ... }
    >>> _ = add.createAndAdd(data)

    >>> voc = getUtility(IVocabularyFactory,
    ...                  'eea.faceted.vocabularies.FacetedPortalTypes')
    >>> [(term.title, term.token, term.value) for term in voc(portal)]
    [..., ('Faceted Test type', 'Faceted Test type', 'Faceted Test type'), ...]


eea.faceted.vocabularies.PortalTypes
-----------------------------------------
Same as plone.app.vocabularies.PortalTypes

    >>> voc = getUtility(IVocabularyFactory,
    ...                  'eea.faceted.vocabularies.PortalTypes')
    >>> [(term.token, term.value) for term in voc(portal)]
    [..., ('Folder', 'Folder'), ..., ('Link', 'Link'), ...]


eea.faceted.vocabularies.ObjectProvides
--------------------------------------------
Vocabulary from catalog index object_provides uniqueValues.

    >>> voc = getUtility(IVocabularyFactory,
    ...                  'eea.faceted.vocabularies.ObjectProvides')

On plone 2.5 object_provides catalog index can be new, so there might be
no value in this vocabulary, let's add a Folder to populate this vocabulary.

    >>> self.loginAsPortalOwner()
    >>> _ = portal.invokeFactory('Folder', 'A folder')

Now let's check our vocabulary

    >>> [term.value for term in voc(portal)]
    [..., 'Products.ATContentTypes.interface.folder.IATFolder', ...]
