CKEditor Installation
======================

Log in as manager

    >>> app = layer['app']
    >>> portal = layer['portal']
    >>> from Products.CMFCore.utils import getToolByName

Control the available_editors in registry
-----------------------------------------

    >>> from zope.component import getUtility
    >>> from plone.registry.interfaces import IRegistry
    >>> registry = getUtility(IRegistry)

    >>> from Products.CMFPlone.interfaces import IEditingSchema
    >>> settings = registry.forInterface(IEditingSchema, prefix='plone', check=False)

    >>> 'CKeditor' in settings.available_editors
    True

Control the default_editor in registry
--------------------------------------

    >>> 'CKeditor' == settings.default_editor
    True

Control the wysiwyg_editor property in memberdata
-------------------------------------------------

We used to set CKeditor here, but in Plone 4 it is better to use the
new default_editor site property and leave the wysiwyg_editor member
property alone.

    >>> memberdata = portal.portal_memberdata
    >>> memberdata.wysiwyg_editor
    ''

Control CKeditor settings in registry
-------------------------------------

    >>> from collective.ckeditor.browser.ckeditorsettings import ICKEditorSchema
    >>> settings = registry.forInterface(ICKEditorSchema)
    >>> settings.toolbar
    'Plone'
    >>> registry.get("collective.ckeditor.toolbars", None) is not None
    True

Control resource bundles in registry
------------------------------------

    >>> from Products.CMFPlone.interfaces import IBundleRegistry
    >>> bundles = registry.collectionOfInterface(IBundleRegistry, prefix="plone.bundles")
    >>> ckbundles = [name for name in bundles if name.startswith("collective.ckeditor")]
    >>> len(ckbundles) == 3
    True

Control portal_transforms installation
--------------------------------------

    >>> transforms = getToolByName(portal, 'portal_transforms')
    >>> output_mimetype = 'text/x-html-safe'
    >>> cke_transform = 'ck_ruid_to_url'

Control if cke_transform is here

    >>> cke_transform in transforms.objectIds()
    True

Control if ckeditor policies are registered
    >>> tpolicies = transforms.listPolicies()
    >>> mimetype_registered = False
    >>> for p in tpolicies :
    ...     out_type = p[0]
    ...     if out_type == output_mimetype :
    ...         policies = p[1]
    ...         if cke_transform in policies :
    ...             mimetype_registered = True
    ...             break
    >>> mimetype_registered
    True
